Я знаю, что это распространенная проблема, которую задают разработчики, но я не могу найти никого, кто имеет такую же проблему, как я.
У меня есть игра, которую я создаю, в этой игре есть много фабрик, которые при вызове возвращают игровой объект, такой как игрок. Еще до того, как игра запустится, я должен убедиться, что все необходимые изображения загружены, я сделал это, просто преобразовав событие .onload в обещание и поместив его в асинхронную функцию с вызовом await. Однако из-за изменений в том, как я организовываю игру, мне нужно будет обрабатывать загрузку изображений на тех фабриках, которые создают игровые объекты. Это проблема, потому что теперь игра не знает, когда все изображения загружены. Я думал, что смогу сделать эти фабрики асинхронными, и await
на них будет иметь вызов асинхронной функции, который также ожидается, но я не верю, что это возможно. Итак, абстрактно, вот что я хочу:
У меня есть обещание gotBanana
, которое разрешается, как только я получу свой банан.
это в асинхронной функции с именем getBananas()
, которая получает много бананов в цикле, она ожидает обещания gotBanana
для разрешения каждой итерации цикла.
Я хочу поместить это в другую (возможно, асинхронную) функцию, но я хочу, чтобы эта функция ожидала завершения функции getBananas()
.
Возможно ли это сделать или мне нужно разрешить эту ситуацию по-другому?