延迟调用一个函数,直到当前调用堆栈已经清除。
使用 setTimeout()
,超时时间为1ms,将新事件添加到浏览器事件队列,并允许渲染引擎完成其工作。使用展开 (...
) 运算符为函数提供任意数量的参数。
const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
// Example A: defer(console.log, 'a'), console.log('b'); // logs 'b' then 'a' // Example B: document.querySelector('#someElement').innerHTML = 'Hello'; longRunningFunction(); // the browser will not update the HTML until this has finished defer(longRunningFunction); // the browser will update the HTML then run the function
更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/
最新评论
写的挺好的
有没有兴趣翻译 impatient js? https://exploringjs.com/impatient-js/index.html
Flexbox playground is so great!
感谢总结。
awesome!
这个好像很早就看到类似的文章了
比其他的教程好太多了
柯理化讲的好模糊…没懂