Heim  >  Artikel  >  Web-Frontend  >  Verstehen Sie die Bedeutung der asynchronen Programmierung von NodeJs genau

Verstehen Sie die Bedeutung der asynchronen Programmierung von NodeJs genau

藏色散人
藏色散人nach vorne
2022-08-08 14:38:141753Durchsuche

Verstehen Sie zunächst, was asynchrone Programmierung ist

Bedeutung:

  • Wenn es asynchron gibt, wird es definitiv eine Synchronisation geben

  • Jede vorhandene Rückruffunktion ist asynchroner Code

  • Führen Sie den ersten synchronen Code aus. Nachdem Sie den asynchronen Code gesehen haben, legen Sie den asynchronen Code in den Ausführungsbereich für asynchronen Code (nicht zuerst ausgeführt)

  • Fahren Sie mit der Ausführung des synchronen Codes fort. Wenn die gesamte Ausführung des synchronen Codes abgeschlossen ist, führen Sie den asynchronen Code aus

Beispiel für asynchronen Code:

console.log('1');
setTimeout(()=>{
	console.log('2秒后再执行...');
},2000);
console.log('end');

Das Ausgabeergebnis nach Ausführung des Programms:
1
Ende
Nach 2 Sekunden erneut ausführen ...

Zusammenfassung: Der Code wird während der Ausführung sequentiell ausgeführt, aber Wenn die Rückruffunktion ausgeführt wird, wird sie im asynchronen Codeausführungsbereich platziert und zunächst nicht ausgeführt. Nachdem der Code ausgeführt wurde, wird er sequentiell ausgeführt und im asynchronen Codeausführungsbereich platziert.

Synchronisierter Codezeilenfall:

for(let i=0;i<10;i++){
	console.log(i);
}
console.log(&#39;end&#39;);

Das Ausgabeergebnis nach Ausführung des Programms:
0123456789
Ende
Zusammenfassung: Synchroner Code, egal wie lange die for-Schleife ausgeführt wird, der folgende Code muss darauf warten muss abgeschlossen sein, bevor es ausgeführt wird.

2. Warum gibt es asynchrone Programmierung? Wenn die Codelogik mehrere Rückrufe umfasst, wird ein sehr schrecklicher Code angezeigt, der der späteren Wartung nicht förderlich ist.

Die Rolle der asynchronen Programmierung besteht darin, die Effizienz zu verbessern. Heutzutage werden Programme immer größer, und auch der Druck auf die CPU und den Speicher nimmt zu. Asynchrone Programmierung ermöglicht es dem Computer, mehrere Transaktionen gleichzeitig zu verarbeiten benötigt.

3. Wie man mit Problemen umgeht, die bei der asynchronen Programmierung auftreten? In unserem Projekt wird es einige Probleme geben, wenn der Wert beispielsweise aufgrund der asynchronen Programmierung nicht ermittelt werden kann.

Lösung: Callback-Funktionsverschachtelung, Promise, Wait und Async-Syntax-Zucker werden synchronisiert.

Jetzt befinden sich drei TXT-Dateien 1, 2 und 3 im Ordner. Wenn wir die dritte Datei lesen Beim zweiten Mal ist die Reihenfolge möglicherweise nicht in Ordnung, daher müssen wir uns mit dem asynchronen Problem befassen und es in der richtigen Reihenfolge ausführen lassen Async-Syntax-Zuckercode:

const fs=require(&#39;fs&#39;)
const path =require(&#39;path&#39;)
let p1=path.join(&#39;1.txt&#39;)
let p2=path.join(&#39;2.txt&#39;)
let p3=path.join(&#39;3.txt&#39;)
fs.readFile(p1,&#39;utf8&#39;,(err,data)=>{
    if(err) throw err
    console.log(data)
    fs.readFile(p2,'utf8',(err,data)=>{
        if(err) throw err
        console.log(data)
        fs.readFile(p3,'utf8',(err,data)=>{
            if(err) throw err
            console.log(data)
        })
    })
})

[Empfohlen: node.js-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonVerstehen Sie die Bedeutung der asynchronen Programmierung von NodeJs genau. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen