変更は非常に簡単で、パラメーターによって判断し、Promise オブジェクトを返します
(関数() {
var timeout = setTimeout;
window.setTimeout = function(fn, time) {
If (!time) {
時間 = fn;
戻り値 $.Deferred(function(dfd) {
タイムアウト(関数() {
dfd.resolvel(dfd);
}, 時間);
}).promise();
}
Timeout.apply(ウィンドウ, 引数);
}
})();
電話
setTimeout(1000).done(function(dnt) {
console.log(dnt)
})