【发布时间】:2019-04-28 01:00:52
【问题描述】:
我知道这是开发人员提出的一个常见问题,但我似乎找不到与我有相同问题的人。
我有一个我正在创建的游戏,这个游戏有很多工厂,当被调用时会返回一个游戏对象,比如玩家。在游戏开始之前,我需要确保所有需要的图像都已加载,我只需将 .onload 事件转换为 Promise,然后将其放入带有 await 调用的异步函数中即可。但是,由于我组织游戏的方式发生了变化,我需要在那些创建游戏对象的工厂中处理图像加载。这是一个问题,因为现在游戏不知道所有图像何时加载。我想我也许可以使这些工厂异步并await 在它们上,它们将有一个也在等待的异步函数调用,但我不相信这是可能的。如此抽象,这就是我想要的:
我有一个承诺gotBanana,一旦我得到我的香蕉,它就会解决。
这是在一个名为 getBananas() 的异步函数中,它在循环中得到很多香蕉,它等待 gotBanana 承诺解决每个循环迭代。
我想把它放在另一个(可能是异步的)函数中,但我希望该函数等待 getBananas() 函数完成。
是否可以这样做,或者我需要以不同的方式处理这种情况?
【问题讨论】:
-
你能写一些代码吗?你需要什么??这可能会更好
标签: javascript asynchronous promise