跳到主要内容

defer [推迟]

JS TODO

延迟调用一个函数,直到当前调用栈已经清空。

使用 setTimeout(),设置超时为 1 毫秒,向浏览器事件队列中添加一个新事件,以便让渲染引擎完成其工作。使用扩展运算符 (...) 来向函数提供任意数量的参数。

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(); // Browser will not update the HTML until this has finished
defer(longRunningFunction); // Browser will update the HTML then run the function