让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)
})
复制代码 代码如下:
(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)
})
推荐阅读
-
javascript操作ul中li的方法_javascript技巧
-
IE6-8中Date不支持toISOString的修复方法_javascript技巧
-
使用js检测浏览器是否支持html5中的video标签的方法_javascript技巧
-
javascript操作ul中li的方法_javascript技巧
-
使用js检测浏览器是否支持html5中的video标签的方法_javascript技巧
-
JavaScript中停止执行setInterval和setTimeout事件的方法_javascript技巧
-
让IE6支持min-width和max-width的方法_javascript技巧
-
IE6-8中Date不支持toISOString的修复方法_javascript技巧
-
JavaScript中停止执行setInterval和setTimeout事件的方法_javascript技巧
-
flash调用js中的方法,让js传递变量给flash的办法及思路_javascript技巧