让JavaScript中setTimeout支持链式操作的方法
作者:bea
修改很简单,通过参数判断,然后返回下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对象
代码如下:
(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创建闭包的两种方式的优劣与区别分析
- javascript中使用new与不使用实例化对象的区别
- 浅谈javascript构造函数与实例化对象
- jquery分析文本里url或邮件地址为真实链接的方法
- jQuery实现文本框输入同步的方法
- jQuery实现带滚动导航效果的全屏滚动相册实例
- jquery实现的代替传统checkbox样式插件
- JQuery实现的图文自动轮播效果插件
- 移除AngularJS下URL中的#字符的方法
- 使用AngularJS创建单页应用的编程指引
- 使用AngularJS实现可伸缩的页面切换的方法
- 使用AngularJS实现表单向导的方法
- 举例详解AngularJS中ngShow和ngHide的使用方法
- 使用AngularJS和PHP的Laravel实现单页评论的方法
- 测试IE浏览器对JavaScript的AngularJS的兼容性
- 使用ngView配合AngularJS应用实现动画效果的方法
- Backbone.js的Hello World程序实例
- 使用AngularJS处理单选框和复选框的简单方法
- 详细分析使用AngularJS编程中提交表单的方式