gpt4 book ai didi

javascript - 在其他任何事情之前使用 await 和 async 来加载解析 Tau-Prolog

转载 作者:行者123 更新时间:2023-12-01 16:26:04 27 4
gpt4 key购买 nike

我的任务是在执行任何其他操作之前在浏览器中加载和解析 Tau-Prolog 代码。我试过这种方法(webProlog.pl 包含 Tau-Prolog 代码):

var session = pl.create(1000); 
async function init_prolog() {
// load tau
await $.get("/web/webProlog.pl", function(data) {
parsed = session.consult(data);
session.query("init.");
session.answer(printAnswer); // needed for triggering query
});

console.log('Prolog init done');
}

在“init”查询中有一条日志消息“Tau-Prolog init done”。如果我不使用 await/asnyc,消息“Prolog Init done”出现在 Tau-Prolog 消息之前,上面的代码序列是正确的(第一个 Tau Prolog 消息,然后 Prolog 初始化完成)。

问题是:我不是 JS 专家。这是否适用于所有常见的浏览器,这种方法是否存在我看不到的副作用或缺点?有更好的解决方案吗?

整体代码将继续 PixiJS 的东西设置。

欢呼并感谢任何提示

汉斯

最佳答案

您必须执行您的代码作为 answer 方法的回调:

var session = pl.create(1000); 
function init_prolog() {
// load tau
$.get("/web/webProlog.pl", function(data) {
parsed = session.consult(data);
session.query("init.");
session.answer(function(answer) {
printAnswer(answer);
console.log('Prolog init done');
});
});
}

关于javascript - 在其他任何事情之前使用 await 和 async 来加载解析 Tau-Prolog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61118287/

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