我正在使用微信开发一个pixi程序,它的许多功能无法使用,所以我自己写。
共有3个功能:
export function load(){
PIXI.loader.add("images/bg.jpg").load(setup);
}
load()
完成后setup()
将被调用。
export const bg;
function setup(){
bg=new Sprite(resources["images/bg.jpg"].texture);
}
在主要功能中,我想在bg
功能完成后使用setup
。
第一个和第二个函数在file1.js中。而在file2.js中,该文件主要包含以下功能:
import * as global from "js/file1.js"
function main(){
global.load();
/* is there anyway to wait the setup is completed?*/
bg.scale.set(0.5);
/* since the load function completed but the setup is not complete so
I cannot use the bg.
}
我不想使用setTimeOut
来确保设置已消失。
反正还有等待吗?
我想知道main
函数是否可以使用单数形式?因为我将在load()
函数中启动main()
函数,并等待setup()
完成,并且可以使用在setup()
函数中初始化的对象。
答案 0 :(得分:0)
是的,您可以使用JavaScript的async
和await
功能来做到这一点。
当异步任务完成时,异步函数将返回。
因此,对于您来说,您的代码应如下所示:
async function setup(){
bg = await new Sprite(resources["images/bg.jpg"].texture);
}
那样,不需要超时,这通常是正确的异步方式。
希望有帮助。