gpt4 book ai didi

javascript - 如何排队要在下一帧调用的 MicroTask?

转载 作者:行者123 更新时间:2023-11-30 20:01:16 26 4
gpt4 key购买 nike

在非 NodeJS 的现代浏览器环境中运行:

有没有办法将 MicroTask 排队,以便在下一帧中调用?

MicroTask 队列在任务之后被刷新,这是在任何 requestAnimationFrame 回调之前。

在任何 rAF 回调之后,MicroTask 队列也会再次刷新。

从 rAF 回调中请求的任何 rAF 回调确实会在下一帧发生,但只会在任何任务或微任务完成之后发生。

setTimeout 将任务排队,但不能保证在下一帧执行。

requestIdleCallback 的触发也是不可预测的。

虽然我不确定,但 ResizeOberver 听起来可能会在下一帧触发,但它仅在 Chrome 中受支持,并且 polyfills 将基于 rAF 或超时。

最佳答案

您提到了裸requestIdleCallback 和rAF 的问题。 React 内置库声称可以解决这些问题。查看:https://github.com/facebook/react/blob/43a137d9c13064b530d95ba51138ec1607de2c99/packages/react-scheduler/src/ReactScheduler.js

关于javascript - 如何排队要在下一帧调用的 MicroTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53350671/

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