Die Änderung ist sehr einfach. Beurteilen Sie anhand der Parameter und geben Sie dann das Versprechensobjekt zurück
(function() {
var timeout = setTimeout;
window.setTimeout = function(fn, time) {
Wenn (!time) {
Zeit = fn;
Rückgabe $.Deferred(function(dfd) {
timeout(function() {
dfd.resolvel(dfd);
}, Zeit);
}).promise();
}
Timeout.apply(window, arguments);
}
})();
Anrufen
setTimeout(1000).done(function(dnt) {
console.log(dnt)
})