Проблема в том, что анонимная функция, которую вы передаете конструктору Promise
, использует await
, но не объявлена async
:
return new Promise( (resolve, reject) => // this function uses await but is not async
{
while(pending.length > 0)
{
await this._loadAsset(pending.pop());
}
resolve();
});
Как правило, вам не нужно использовать Promise
конструктор, если вы не оборачиваете что-то, что требует обратного вызова. В этом случае вам это вообще не нужно, вы можете просто иметь время, пока l oop будет частью тела load
:
async load()
{
let pending = [/*...*/];
while(pending.length > 0)
{
await this._loadAsset(pending.pop());
}
}