Promise
From Logic Wiki
const p = new Promise((resolve, reject) => {
setTimeout(()=>{
//resolve(1);
reject(new Error('message'));
}, 2000);
});
p
.then(result => console.log('Result', result))
.catch(err=> console.log('Error', err.message));
Promise.all
const p1 = new Promise((resolve) => {
setTimeout(()=>{
console.log('Async 1');
resolve(1);
},2000);
});
const p2 = new Promise((resolve) => {
setTimeout(()=>{
console.log('Async 2');
resolve(2);
},2000);
});
Promise.all([p1, p2])
.then(result => console.log(result));
if one on them rejected end result returns rejected
Promise.race
if one of the promises fulllfilled result returns.