Promises
// ~ CREATING PROMISES
new Promise((resolve, reject) => {
doStuff(() => {
if (success) {
resolve('good');
} else {
reject(new Error('oops'));
}
});
});
promise
.then((result) => {
// success
})
.catch((error) => {
// failure
})
Multiple promises
const promises = [promise1(), promise2()];
Promise.all(promises).then((results) => {
// succeeds when all succeed
});
Promise.race(promises).then((result) => {
// succeeds when one finishes first
});