var fireCount =0;
var start = new Date
var timer=setInterval(function() {
if(new Date - start > 1000){
clearInterval(timer)
console.log('Fired ',fireCount)
}
fireCount++;
},0)
Ergebnis: Fired 770Wie wird die Timervariable ausgeführt und in der Konsole abgefragt?
Was ich erwartet hatte: Blank oder keine Ausgabe
versucht, Rückrufe zu verstehen und dieses Beispiel auf dem Weg zu sehen ... kann mir jemand erklären, wenn Timer aufgerufen wird und wie wird 'Fired' auf der Konsole protokolliert?
ist Timer ein IFFE (sofort aufgerufene Funktion Ausdruck) hier?
bin ich hier etwas fehlt? Wie wird setInterval ausgeführt?
Was ist der Unterschied zwischen den beiden folgenden Funktionsvariablen?
var timer=setInterval(function() {
if(new Date - start > 1000){
clearInterval(timer)
console.log('Fired ',fireCount)
}
fireCount++;
},0)
var x=function() {
console.log('x')
}
Wie wird der Timer gedruckt, während x nicht?
gut, experimentierte ich ein wenig mehr, und fand,
var x=setInterval(function() {
console.log('x')
})
drucken x auf unbestimmte Zeit zu trösten, wie erwartet ....
so ist es, weil der Rückruf kein Code sehen wartete vor die Ereigniswarteschlange und führte daher den Rückruf aus?
sicher bekomme ich das, aber wann heißt es? Ist die Funktionsdefinition nicht nur der Timer-Variable zugewiesen? wir haben timer "as of yet" noch nicht aufgerufen, aber meine Konsole wird mit "Fired 770" geloggt ich möchte wissen, wann es aufgerufen wird? – coolstoner
es heißt Evry Zeit nach Intervall ist nach Timeout festgelegt Sie –