【发布时间】:2017-04-21 01:12:44
【问题描述】:
我有一个大数组,它被分成更小的块。然后我对每个块进行异步调用:
myFunc(arrObjs: any[], chunkSize: number): Promise<any> {
let result = Promise.resolve(); // To start the chain
while(arrObjs.length) {
// Extracting array chunk
let chunk = arrObjs.splice(0, chunkSize);
// Building the chain
result = result.then(() => {
return someAsynFunc(
chunk
);
});
}
return result;
}
在我的解决方案之上。我需要按顺序运行异步函数(系列承诺),所以我构建了一个承诺链。
有没有更好的方法来做到这一点?
【问题讨论】:
-
如果您要等待上一个异步块处理完成后再开始下一个,那么首先执行所有这些异步的目的是什么?
-
我无法控制异步函数,它本质上是异步的
标签: javascript loops typescript promise