JSFiddle - React, Tailwind, and code Playground
by Andi Nugroho Dirgantara
JavaScript
var p1 = new Promise(function (resolve, reject) {
window.setTimeout(
function () {
resolve('res called from p1')
}, 1000);
});
var p2 = new Promise(function (resolve, reject) {
window.setTimeout(
function () {
resolve('res called from p2')
}, 1000);
});
function chainPromises() {
console.log('-------------------\n');
console.log('your chain promise');
return p1.then(function (val) {
console.log("p1");
console.log(val);
return p2.then(function (val) {
console.log("p2");
console.log(val);
return val;
});
});
}
function chainThen() {
console.log('-------------------\n');
console.log('chain then');
return p1.then(function (val) {
console.log("p1");
console.log(val);
return p2
})
.then(function (val) {
console.log("p2");
console.log(val);
console.log('chain then done');
});
}
function promiseAll() {
console.log('-------------------\n');
console.log('promise all');
return Promise.all([p1, p2])
.then(function (vals) {
console.log('p1 return value = ' + vals[0]);
console.log('p2 return value = ' + vals[1]);
console.log('done');
});
}
chainPromises().then(function (val) {
console.log(val);
})
.then(function (val) {
return chainThen();
})
.then(function () {
promiseAll();
});;