Javascript问题(异步调用)

Issue with Javascript (call asynchronously)

本文关键字:调用 异步 问题 Javascript      更新时间:2023-09-26

我正在尝试在获取提要之前更改文本
但在我收到提要后,文本发生了变化
问题/答案它只适用于Google Chrome(因为它是一个扩展)
抱歉我英语不好;-)

$("h1").click(function(){$(this).text("正在加载…");//这发生在fids()之后;fids();//获取提要的函数});

最好将fids更改为异步工作,但如果不能做到这一点,则可以在超时时运行fids

$("h1").click(function(){
    $(this).text("Loading...");
    setTimeout(fids, 0);
});

在JSFiddle上试用

它不能像以前那样工作的原因是,在所有常见的浏览器中,JavaScript都在UI线程上运行。如果您更改文本,然后调用阻塞函数,浏览器会等待JavaScript完成运行,然后再更新UI。在浏览器有时间重新绘制文本后,使用setTimeout使其在下一个事件循环中运行。