欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

让JavaScript中setTimeout支持链式操作的方法_javascript技巧

程序员文章站 2022-03-29 13:17:43
...
修改很简单,通过参数判断,然后返回下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)
})