让setTimeout支持链式

简介:

修改很简单,通过参数判断,然后返回下promise对象

复制代码
(function() {
  var timeout = setTimeout;
  window.setTimeout = function(fn, time) {
    if (!time) {
      time = fn;
      return $.Deferred(function(dfd) {
        timeout(function() {
          dfd.resolvel(dfd);
        }, time);
      }).promise();
    }
    timeout.apply(window, arguments);
  }
})();
复制代码

 

调用

setTimeout(1000).done(function(dnt) {
  console.log(dnt)
})

本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/p/3951732.html,如需转载请自行联系原作者
相关文章
|
9天前
|
前端开发
Await和Async是什么?跟Promise有什么区别 使用它有什么好处
Await和Async是什么?跟Promise有什么区别 使用它有什么好处
|
24天前
|
前端开发 JavaScript
js开发:请解释Promise是什么,以及它如何解决回调地狱(callback hell)问题。
Promise是JavaScript解决异步操作回调地狱的工具,代表未来可能完成的值。传统的回调函数嵌套导致代码难以维护,而Promise通过链式调用`.then()`和`.catch()`使异步流程清晰扁平。每个异步操作封装为Promise,成功时`.then()`传递结果,出错时`.catch()`捕获异常。ES6的`async/await`进一步简化Promise的使用,使异步代码更接近同步风格。
13 1
|
3月前
|
前端开发
Promise的链式调用
Promise的链式调用是指在一个Promise对象上连续调用多个then方法的过程。通过链式调用,可以将多个异步操作按照顺序执行,并且可以在每个操作完成后处理返回的结果。
29 0
|
4月前
|
前端开发 JavaScript
使用promise解决异步请求的用法
使用promise解决异步请求的用法
31 0
|
8月前
|
前端开发 程序员
promise的链式调用和promise的嵌套的实现
promise的链式调用和promise的嵌套的实现
133 0
|
9月前
|
前端开发 JavaScript
JavaScript 中的异步编程:回调函数、Promise 和 async/await
在 JavaScript 编程中,处理异步操作是常见的需求。为了解决异步编程带来的问题,JavaScript 提供了多种方式,包括回调函数、Promise 和 async/await。本文将详细介绍这些异步编程的方法,并谈论它们的优缺点以及适用场景。
|
Web App开发 前端开发 JavaScript
关于 Await、Promise 执行顺序差异问题
关于 Await、Promise 执行顺序差异问题
267 0
关于 Await、Promise 执行顺序差异问题
|
前端开发 JavaScript
从Promise结构到Promise实现
nodejs面试时,会常常被问到promise的相关实现和原理,甚至还有现场写个Promise的实现。所以首先对Promise要有一定的了解。
79 0
|
前端开发
重新手写promise,理解核心的异步链式调用原理
重新手写promise,理解核心的异步链式调用原理
146 0
|
前端开发 JavaScript 开发者
Promise从手写到扩展 | Promise/Generator/async | [Promise系列二](二)
Promise从手写到扩展 | Promise/Generator/async | [Promise系列二](二)
125 0