我的任务是在执行任何其他操作之前在浏览器中加载和解析 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 init done)。
问题是:我不是 JS 专家。这是否适用于所有常见的浏览器,这种方法是否有我看不到的副作用或缺点?有更好的解决方案吗?
整个代码将继续 PixiJS 的东西设置。
干杯,感谢任何提示
汉斯