Window: setImmediate() 方法
已弃用:此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被弃用,或者可能仅出于兼容性目的而保留。避免使用它,如果可能,更新现有代码;请参阅此页面底部的兼容性表以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。
此方法用于分解长时间运行的操作,并在浏览器完成其他操作(例如事件和显示更新)后立即运行回调函数。
语法
js
setImmediate(func)
setImmediate(func, param1)
setImmediate(func, param1, param2)
setImmediate(func, param1, param2, /* …, */ paramN)
参数
返回值
立即执行的 ID,稍后可与window.clearImmediate
一起使用。
注释
clearImmediate
方法可用于清除立即操作,就像clearTimeout
用于setTimeout()
一样。
此方法可以替代setTimeout(fn, 0)
方法来执行繁重的操作。
此功能可以通过几种不同的方式模拟
postMessage
可用于触发立即但会让出的回调。-
MessageChannel
可在 Web Workers 内部可靠地使用,而 postMessage 的语义意味着它不能在那里使用。 setTimeout(fn, 0)
可以潜在地使用,但是因为它嵌套超过 5 层的计时器被限制在 4 毫秒根据 HTML 规范,它不适合作为setImmediate
自然即时性的合适 polyfill。
所有这些技术都包含在一个强大的 setImmediate polyfill中。
规范
不属于任何当前规范的一部分。高效脚本让步
规范不再进行开发。
浏览器兼容性
BCD 表仅在浏览器中加载