Promise.all的簡單實現(xiàn)
Promise.all = arr => {
let aResult = []; //用于存放每次執(zhí)行后返回結(jié)果
return new _Promise(function (resolve, reject) {
let i = 0;
next(); // 開始逐次執(zhí)行數(shù)組中的函數(shù)(重要)
function next() {
arr[i].then(function (res) {
aResult.push(res); // 存儲每次得到的結(jié)果
i++;
if (i == arr.length) { // 如果函數(shù)數(shù)組中的函數(shù)都執(zhí)行完挫掏,便resolve
resolve(aResult);
} else {
next();
}
})
}
})
};