Вы можете сделать это, заключив myLoader
в Promise
. Поскольку у меня нет кода для myLoader
, я смоделирую его с задержкой, которая ждет всего несколько секунд.
async function dummyUpload(asset){
return new Promise(resolve => {
console.log("dummyUpload",asset);
setTimeout(resolve,3000);
});
}
async function test(assets){
for(var i=0;i<assets.length;i++){
var asset = assets[i];
console.log("starting",asset);
await dummyUpload(asset);
console.log("finished",asset);
};
}
var assets = [1,2,3];
test(assets);
Способ обертывания вашей функции загрузки довольно прост:
async function loaderFunction(asset){
return new Promise( resolve => {
myLoader.upload(asset, resolve);
});
}
Вы также можете проверить, поддерживает ли ваш «загрузчик» Promise- основанный на интерфейсе, который был бы лучше, чем оборачивание другим Promise
.