我知道这是开发人员提出的一个常见问题,但我似乎找不到和我有同样问题的人。
我有一个游戏,我正在创建,这个游戏有很多工厂,当被称为返回一个游戏对象,例如一个玩家。在游戏开始之前,我需要确保所有所需的图像都已加载,我只需将.onload事件转换为承诺,并将其放入带有等待调用的异步函数中即可。但是,由于我组织游戏的方式发生了变化,我需要处理那些创建游戏对象的工厂中的图像加载。这是一个问题,因为现在游戏不知道什么时候所有的图像被加载。我想我可以让这些工厂异步化和await化,它们也会有一个异步函数调用,但我认为这是不可能的。如此抽象,这就是我想要的:
我有一个承诺gotBanana,一旦我得到我的香蕉,这个承诺就会解决。
这是在一个名为getBananas()的异步函数中,它在循环中得到了很多香蕉,它等待gotBanana承诺来解决每一个循环迭代。
我想把它放到另一个(可能是异步)函数中,但是我希望这个函数等待getBananas()函数完成。
是否可以这样做,还是我需要以不同的方式处理这种情况?
发布于 2019-04-27 16:49:14
也许您正在寻找Promise.all,它并行地解决所有的承诺,并在它完成时返回承诺。因此,您只需映射您的所有资产(图像或其他),并等待它。
https://stackoverflow.com/questions/55882730
复制相似问题