Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist die Callback-Hölle von NodeJS?

Was ist die Callback-Hölle von NodeJS?

WBOY
Freigeben: 2022-03-04 16:07:05
Original
1983 Leute haben es durchsucht

In nodejs müssen die Ergebnisse von „E/A“-Vorgängen grundsätzlich in der Rückruffunktion verarbeitet werden. Dies ist eine Rückrufhölle Die Anforderung ist in einer asynchronen Anforderung verschachtelt, und eine asynchrone Anforderung hängt vom Ausführungsergebnis einer anderen ab, wobei Rückrufe verwendet werden, um sich gegenseitig zu verschachteln.

Was ist die Callback-Hölle von NodeJS?

Die Betriebsumgebung dieses Artikels: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.

Was ist die Callback-Hölle von NodeJS? Die Ergebnisse von E/A-Vorgängen in NodeJS müssen grundsätzlich in der Callback-Funktion verarbeitet werden. Wenn mehrere Ereignisse verarbeitet werden, wird die Callback-Funktion Schicht für Schicht verschachtelt .

Eine asynchrone Anfrage ist in einer asynchronen Anfrage verschachtelt, und eine asynchrone Anfrage hängt vom Ausführungsergebnis der anderen ab, wobei Callbacks zur gegenseitigen Verschachtelung verwendet werden

Das größte Highlight von Nodejs ist die ereignisgesteuerte, nicht blockierende E/A Modell, das Nodejs macht Es verfügt über starke Fähigkeiten zur gleichzeitigen Verarbeitung und eignet sich sehr gut zum Schreiben von Netzwerkanwendungen. Die meisten I/O-Vorgänge in Nodejs sind nahezu asynchron, das heißt, die Ergebnisse unserer I/O-Vorgänge müssen grundsätzlich in Rückruffunktionen verarbeitet werden, wie zum Beispiel der folgenden Funktion, die Dateiinhalte liest:

fs.readFile('/etc/passwd', function (err, data) {
  if (err) throw err;
  console.log(data);
});
Nach dem Login kopieren

Was sollen wir also tun? Wenn wir zwei Dateien lesen und den Inhalt der beiden Dateien zur Verarbeitung zusammenführen? Die meisten Leute, die js für kurze Zeit ausgesetzt waren, könnten Folgendes tun:

fs.readFile('/etc/passwd', function (err, data) {
  if (err) throw err;
  fs.readFile('/etc/passwd2', function (err, data2) {
    if (err) throw err;
    // 在这里处理data和data2的数据
  });
});
Nach dem Login kopieren

Wenn wir uns dann mit mehreren ähnlichen Szenen befassen, nicht wahr? Callback-Funktionen sind Schicht für Schicht verschachtelt. Dies wird oft als Callback-Pyramide oder Callback-Hölle bezeichnet.

Empfohlenes Lernen: „

nodejs-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Callback-Hölle von NodeJS?. 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