Pengubahsuaian sangat mudah, nilai mengikut parameter, dan kemudian kembalikan objek janji
(fungsi() {
var tamat masa = setMasa tamat;
window.setTimeout = fungsi(fn, masa) {
Jika (!masa) {
Masa = fn;
Kembalikan $.Deferred(function(dfd) {
tamat masa(fungsi() {
dfd.resolvel(dfd);
}, masa);
}).janji();
}
Timeout.apply(window, arguments);
}
})();
Panggil
setTimeout(1000).selesai(fungsi(dnt) {
console.log(dnt)
})