修改很簡單,通過參數判斷,然後返回下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)
})