JavaScript 承诺每个
示例
可以有效地应用一个函数(cb),该函数向数组的每个元素返回一个承诺,每个元素等待处理,直到前一个元素被处理为止。
function promiseForEach(arr, cb) {
var i = 0;
var nextPromise = function () {
if (i >= arr.length) {
//处理完成。
return;
}
//处理下一个功能。包装在Promise.resolve中以防万一
//该函数不返回承诺
var newPromise = Promise.resolve(cb(arr[i], i));
i++;
//连锁完成加工。
return newPromise.then(nextPromise);
};
//揭开序幕。
return Promise.resolve().then(nextPromise);
};如果您需要一次高效地处理数千个项目,这将很有帮助。使用常规for循环创建承诺将立即创建所有承诺并占用大量RAM。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下