Próbowałem zrozumieć, jak odroczone działa, więc we wszystkich z nich używają setTimeout
.Dlaczego używać setTimeout w odroczonym
this.callbacks;// array of functions reference
this.callbacks.forEach(function(callback){
window.setTimeout(function(){
callback(data);
},0);
});
jeden przykład z this questions które używają setTimeout
resolve: function (data) {
this.promise.okCallbacks.forEach(function(callback) {
window.setTimeout(function() {
callback(data)
}, 0);
});
},
Jaka jest różnica między wywołaniem funkcji w pętli przez setTimeout
niż callback();
lub callback.call();
ale czas ustawiony jako 0 –
@ Moein7tl: W rzeczywistości istnieje dolna granica limitu czasu, który jest większy niż 0 (IIRC to około 4 ms dla popularnych przeglądarek). Stąd 0 oznacza "tak szybko, jak możesz się do tego przyzwyczaić". Prawdopodobnie ludzie, którzy korzystają z zerowego limitu czasu wiedzą o tym i robią to celowo. – Jon
@ Moein7tl - Tak, zauważ, że po tym jak powiedziałem "upłynął czas", powiedziałem "**" i "**. – Quentin