我一直在使用promise函数将单个资产(jsfiles,css等)加载到我的代码中。例如:
loadScript = (JSFile: string): Promise<any> => { .... }
现在我希望能够使用Promise.all()加载多个资产。我想动态创建Promise.all()输入数组:
let pa: Array<any> = [];
for (let x = 0; x < assetArray.length; x++) {
if (assetArray[x].use) {
pa.push( this.loadScript(assetArray[x].name));
}
Promise.all(pa).then(() => {resolve();});
从上面的这个片段中,我怀疑加载pa数组的方法实际上是在调用Promise.all()之前执行loadscript函数,并且Promise.all()有益于根据gitbooks链接并行运行: https://basarat.gitbooks.io/typescript/docs/promise.html尚未实现。
如何在上面的循环中加载pa数组然后调用Promises.all()?