rsuite-theme
Version:
The suite theme for pagurian
35 lines (32 loc) • 816 B
JavaScript
;
/**
* Created by Godfery on 2016/9/7 0007.
*/
var util = require('util');
var Q = require('q');
/**
* 实现类似$.when()的功能
* @param {q.defer.promise []} promises
* @param call
*/
function promisesResolve() {
var promises = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var call = arguments[1];
var datas = [];
var defer = Q.defer();
defer.resolve([]);
promises.reduce(function (previous, current, index) {
return previous.then(function (resp) {
datas.push(resp);
return current;
});
}, defer.promise).then(function (resp) {
datas.push(resp);
if (util.isFunction(call)) {
call(datas);
}
});
}
module.exports = {
promisesResolve: promisesResolve
};