修改很简单,通过参数判断,然后返回下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,如需转载请自行联系原作者