让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,如需转载请自行联系原作者
相关文章
|
5月前
|
前端开发
Promise链式调用与错误处理
Promise链式调用是处理异步操作的方式,它按顺序执行多个任务,每个任务返回Promise对象。通过`.then()`指定成功后的操作,`.catch()`处理错误。示例代码展示了如何使用fetch获取数据,根据状态码解析响应并处理数据,错误则通过`.catch()`捕获。另一个例子定义了三个异步函数构成Promise链,依次执行并处理结果,错误同样由`.catch()`统一管理。
|
5月前
|
前端开发 JavaScript
在JavaScript中,回调函数、Promise和async/await这三种异步处理机制的优缺点
JavaScript的异步处理包括回调函数、Promise和async/await。回调函数简单易懂,但可能导致回调地狱和错误处理困难。Promise通过链式调用改善了这一情况,但仍有回调函数需求和学习成本。async/await提供同步风格代码,增强可读性和错误处理,但需ES8支持,不适用于并发执行。根据项目需求选择合适机制。
|
5月前
|
前端开发 JavaScript
Promise的链式调用案例讲解
Promise的链式调用案例讲解
|
5月前
|
前端开发
Promise的链式调用
Promise的链式调用是指在一个Promise对象上连续调用多个then方法的过程。通过链式调用,可以将多个异步操作按照顺序执行,并且可以在每个操作完成后处理返回的结果。
57 0
|
前端开发 程序员
promise的链式调用和promise的嵌套的实现
promise的链式调用和promise的嵌套的实现
177 0
|
前端开发 JavaScript
从Promise结构到Promise实现
nodejs面试时,会常常被问到promise的相关实现和原理,甚至还有现场写个Promise的实现。所以首先对Promise要有一定的了解。
90 0
|
前端开发
重新手写promise,理解核心的异步链式调用原理
重新手写promise,理解核心的异步链式调用原理
167 0
|
前端开发 开发者
图解 Promise 实现原理(二)—— Promise 链式调用
本系列文章由浅入深逐步实现 Promise,并结合流程图、实例以及动画进行演示,达到深刻理解 Promise 用法的目的。
996 0
|
设计模式 JavaScript
MutationObserver接口(一) 基本用法
MutationObserver接口(一) 基本用法
542 0
|
前端开发
promise 的基本用法
promise 的基本用法