# delay
# Description
延迟 wait 毫秒后调用 func。 调用时,任何附加的参数会传给 func。
# Params
(func, wait, ...args)
# Return
number
# Code
function delay(func, wait, ...args) {
if (typeof func !== 'function') {
throw new TypeError('Expected a function')
}
return setTimeout(func, +wait || 0, ...args)
}
# Analyze
和 defer 基本一致,只不过这里延迟时间改为传入,调用一元正号转为数字
# Remark
- window.setTimeout MDN (opens new window) 方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。
- 并发模型与事件循环 MDN (opens new window)
- 彻底吃透 JavaScript 执行机制 (opens new window)
- Event loops (opens new window)
# Example
delay(() => {console.log('delay')}, 2)
defer(() => {console.log('defer')})
// defer
// delay
← defer difference →