gpt4 book ai didi

javascript - setTimeout 执行的函数叫什么?

转载 作者:行者123 更新时间:2023-11-30 18:07:58 27 4
gpt4 key购买 nike

我目前使用以下函数在事件循环中对函数调用进行排队:

Function.prototype.async = function () {
setTimeout.bind(null, this, 0).apply(null, arguments);
};

这使我可以编写如下代码:

alert.async("This will be displayed later.");
alert("This will be displayed first.");

现在我打算将这个函数包含在我正在编写的库中。但是名称 async 似乎是对该功能的不准确描述。从技术上讲,该函数不是异步执行的。

所以我的问题是,如果 setTimeout 执行的函数不是异步的,那么它是什么?你会如何描述它?

我相信 defer 会是一个更合适的名字,但我不太确定。

最佳答案

ECMAscript 代码在所谓的 UI 线程 中执行,它在任何浏览器实现中运行。基本上,所有 UI 更新Javascript 代码块 都在该线程内共享(这也是为什么长时间运行的 Javascript 代码会挂起浏览器 UI 的原因)。

但是,setTimeout 所做的只是将您的函数插入排队到UI 线程 .这反过来意味着,不能保证您的代码实际上会在 xxx 毫秒 内执行,只是它会被插入队列。如果其他进程仍在运行或浏览器在线程内繁忙,则在处理其他任何事情之前不会执行。

我怎么调用它?

“延迟执行 ECMAscript 代码”

关于javascript - setTimeout 执行的函数叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338156/

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