Bluebird sandbox

by tanvir_alam_shawn

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.0.5/bluebird.js"></script>

JavaScript

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);
        		customer = {name: "Cristopher"};
            resolve();
        }, 50)
    })
};

var PaymentPromise = function () {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            console.log(PaymentPromise.name);
        		payment = {type: "visa"};
            resolve();
        }, 50)
    })
};

Bluebird.map([MerchantPromise, CustomerPromise, PaymentPromise], function (promiseFn) {
    return promiseFn();
}, {concurrency: 1})
.then(function() {
	console.log(merchant, customer, payment);
});