碎片時(shí)間學(xué)編程「273]:延遲函數(shù)調(diào)用

延遲函數(shù)調(diào)用
推遲調(diào)用函數(shù),直到當(dāng)前調(diào)用堆棧已清除。
使用 setTimeout() 方法設(shè)置 ?1 毫秒 ?超時(shí)將新事件添加到事件隊(duì)列并允許渲染引擎完成其工作。
使用擴(kuò)展 ( ...) 運(yùn)算符為函數(shù)提供任意數(shù)量的參數(shù)。
JavaScript
const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
示例:
// 示例 A:
defer(console.log, 'a'), console.log('b'); // logs 'b' then 'a'
// 示例 B:
document.querySelector('#someElement').innerHTML = 'Hello';
longRunningFunction();
// 在完成之前瀏覽器不會(huì)更新 HTML
defer(longRunningFunction);
// 瀏覽器將更新 HTML 然后運(yùn)行函數(shù)
更多內(nèi)容請?jiān)L問我的網(wǎng)站:https://www.icoderoad.com
標(biāo)簽: