gpt4 book ai didi

javascript - 如何在javascript中 'queue'代码段

转载 作者:行者123 更新时间:2023-11-28 02:46:55 25 4
gpt4 key购买 nike

我创建了一个类,在初始化时开始下载 JSON 文件。

但是,下载是异步运行的。因此,在声明它之后,我开始使用它,但它失败了,因为它尚未加载文件。

我可以关闭异步,但是有其他方法而不卡住浏览器吗?

我目前正在使用 setTimeout 选项来解决这个问题,但这似乎是一个丑陋的黑客。

  var d;
$(document).ready(function() {
d = new Duk('element');
d.getBlueprint('hud.json');
setTimeout(start, '2000');
});

function start(){
test = new d.Dialog(d.blueprint.screens.test);
test.draw();
}

最佳答案

您必须将事件处理程序附加到对象加载完成事件。您正在使用的图书馆必须提供此事件。我不知道 Duk 是什么,也不知道 getBlueprint() 的用途,但您应该检查文档以了解该类和方法是什么,看看是否有一个 oncomplete 回调。如果有,你会这样做:

$(document).ready(function() {
d = new Duk('element');
d.getBlueprint('hud.json', {
onComplete: function() {
test = new d.Dialog(d.blueprint.screens.test);
test.draw();
}
});
});

显然,这是我编造的。我不知道你的库是否有这样定义的 onComplete 方法,但我希望你明白我的意思。如果不了解您正在使用的库的更多信息,我无法给出更好的示例。

关于javascript - 如何在javascript中 'queue'代码段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com