Heim > Web-Frontend > js-Tutorial > Hauptteil

JS-Timer und asynchrone Single-Thread-Funktionen

不言
Freigeben: 2018-07-07 10:05:00
Original
1779 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die JS-Timer- und Single-Thread-Asynchronfunktionen vorgestellt. Jetzt kann ich ihn mit Ihnen teilen.

Das erste, was ich sagen muss. Timing Die mit dem Timer verbundenen Methoden sind alle BOM-Methoden, und der Timer wird verwendet, um einen Codeabschnitt innerhalb einer festgelegten Zeit
auszuführen oder den Code innerhalb eines bestimmten Zeitintervalls zu wiederholen. Spezifische Funktion:

setTimeout(callback, delay);//delay一定的时间后,执行回调函数只执行一次
setInterval(callback, delay);//每隔一段时间执行一次callback,反复执行
clearInterval(timer);//清除定时
Nach dem Login kopieren

Der Timer ist zwar sehr nützlich, aber nicht einfach zu bedienen. Warum sagen Sie das?
Wir wissen, dass JS Single-Threaded ist, sodass der Thread leicht blockiert werden kann
? --asynchron!
Natürlich ist JS Single-Threaded und kann nicht asynchron sein, aber die Host-Umgebung von JS (z. B. Browser, Knoten) ist Multi-Threaded
und die Host-Umgebung wird auf irgendeine Weise gesteuert (zum Beispiel: (Knoten ereignisgesteuert) Dadurch verfügt JS über asynchrone Eigenschaften.
Warum reden Sie plötzlich von asynchronem Single-Threaded JS? Was bedeutet es, weil das Timer-Ereignis von JS asynchron verarbeitet wird?
Im Code:

var num = 1;
setTimeout(function() {
    num++;
    console.log(num);
}, 1000);
console.log(num); //结果并是不(2,1)而是(1,2)
Nach dem Login kopieren

Warum ist das so? Wie bereits erwähnt, verarbeitet JS das Timer-Ereignis asynchron, was bedeutet, dass es nicht auf die Verarbeitung des Timer-Ereignisses

wartet, bevor es den folgenden Code ausführt, sondern das Timer-Ereignis nach der Eingabe direkt in das Ereignis einfügt Führen Sie in der Warteschlange den folgenden Code direkt aus

Wenn das Timer-Ereignis abgeschlossen ist, führt JS den Rückrufteil des Timer-Ereigniscodes aus.

Asynchron kann effektiv verhindern, dass der JS-Thread blockiert wird, und es ist sehr effizient, sodass JS mehr Dinge

mit begrenzten Ressourcen tun kann, was erstaunlich ist. (Wir werden im Knoten vielen asynchronen Problemen ausgesetzt sein)

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist PHP chinesische Website!

Verwandte Empfehlungen:

JS-asynchrone Programmierung – Promise, Generator, async/await

Einführung in die JS-asynchrone Programmierung

Das obige ist der detaillierte Inhalt vonJS-Timer und asynchrone Single-Thread-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!