function/sleep.jsjavascript
/**
* 返回一个在指定时间后兑现的 Promise,不会阻塞事件循环。
* @function sleep
* @memberof module:function
* @param {number} wait 等待时间,单位为毫秒
* @returns {Promise<void>} 等待完成后兑现的 Promise
* @throws {TypeError} wait 不是非负有限数字时抛出
*/
function sleep(wait) {
if (!Number.isFinite(wait) || wait < 0) {
throw new TypeError('wait must be a non-negative finite number')
}
return new Promise(resolve => {
setTimeout(() => {
resolve()
}, wait)
})
}
export default sleep