Skip to content

Instantly share code, notes, and snippets.

@cristopher-rodrigues
Last active February 7, 2017 02:00
Show Gist options
  • Save cristopher-rodrigues/b9bce06034c2336957ffd2f0e3001199 to your computer and use it in GitHub Desktop.
Save cristopher-rodrigues/b9bce06034c2336957ffd2f0e3001199 to your computer and use it in GitHub Desktop.
promisse callback hells each
// test here: http://jsfiddle.net/6fjzyes5/
const Bluebird = Promise.noConflict()
let merchant = {};
let customer = {};
let payment = {};
let MerchantPromise = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log(MerchantPromise.name);
merchant = {name: "EBANX"};
resolve();
}, 1000)
})
};
var CustomerPromise = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log(CustomerPromise.name, merchant);
customer = {name: "Cristopher"};
resolve();
}, 50)
})
};
var PaymentPromise = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log(PaymentPromise.name, merchant, customer);
payment = {type: "visa"};
resolve();
}, 50)
})
};
Bluebird.each([MerchantPromise, CustomerPromise, PaymentPromise], function (promiseFn) {
return promiseFn();
}, {concurrency: 1})
.then(function() {
console.log(merchant, customer, payment);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment