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