Promise All&Spread
Promise All&Spread
by epinapala
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.4.0/bluebird.core.min.js"></script>
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
JavaScript
//Mock async operations
var step1 = function(ms) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log("This is step 1");
resolve("Return Step 1 ");
}, ms);
})
}
var step2 = function(ms) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log("This is step 2");
resolve("Return step 2 ");
}, ms);
})
};
var step3 = function(ms) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log("This is step 3");
resolve("Return Step 3 ");
}, ms);
})
};
// Promise All
Promise.all([
step1(10),
step2(15),
step3(10)
]).spread(function(ret1, ret2, ret3) {//On finish get the respective values
console.log("Spread results: " + ret1 + " - " + ret2 + " - " + ret3);
})