Example 4-8. Converting arrays into individual arguments using promise.spread()
function getAccountStatus(callback) {
var error = null;
var enabled = true;
var lastLogin = new Date();
callback(error, enabled, lastLogin); // Callback has multiple values on success
}
var fulfillUsingAnArray = true;
var wrapperFunc = Bluebird.promisify(getAccountStatus, fulfillUsingAnArray);
// Without using spread
wrapperFunc().then(function (status) {
var enabled = status[0];
var lastLogin = status[1];
// ...
});
// Using spread
wrapperFunc().spread(function (enabled, lastLogin) {
// ...
});