UNPKG

rsuite-theme

Version:
35 lines (32 loc) 816 B
'use strict'; /** * 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 };