delay.js 459 B

12345678910111213141516171819
  1. var slice = require('./slice')
  2. /**
  3. * 该方法和 setTimeout 一样的效果,区别就是支持上下文和额外参数
  4. *
  5. * @param {Function} callback 函数
  6. * @param {Number} wait 延迟毫秒
  7. * @param {*} args 额外的参数
  8. * @return {Number}
  9. */
  10. function delay (callback, wait) {
  11. var args = slice(arguments, 2)
  12. var context = this
  13. return setTimeout(function () {
  14. callback.apply(context, args)
  15. }, wait)
  16. }
  17. module.exports = delay