JavaScript-Rückrufe: Asynchron oder nicht?
JavaScript-Rückrufe sind nicht universell asynchron. In bestimmten Szenarios, wie dem Beispiel, das Sie mit den Funktionen addOne und simpleMap bereitgestellt haben, arbeitet der Code synchron.
Asynchrones JavaScript im Browser
Callback-basierte AJAX-Funktionen in jQuery sind häufig asynchron, da sie XHR-Anfragen (XMLHttpRequest) beinhalten. Standardmäßig sind XHR-Anfragen in Browsern asynchron und ermöglichen eine fortlaufende Skriptausführung, während die Anfrage verarbeitet wird.
Asynchrones JavaScript in Node.js
In Node.js Asynchrones Verhalten entsteht im Allgemeinen durch Eingabe-/Ausgabeoperationen (E/A), wie z. B. Datei-E/A, process.nextTick, setTimeout und setInterval. Rückrufbasierte Datenbankaufrufe mit MongoDB/Mongoose sind aufgrund der zugrunde liegenden E/A-Vorgänge, die an der Interaktion mit der Datenbank beteiligt sind, asynchron.
Vorbestimmte asynchrone Situationen
Asynchronität kommt häufig vor in der Umwelt verankert. Im Browser sind mit XHR-Anfragen verknüpfte Rückruffunktionen von Natur aus asynchron. In Node.js sind mit E/A-Vorgängen verknüpfte Rückrufe ebenfalls asynchron.
Benutzerdefinierte asynchrone Funktionen
Ohne sich ausschließlich auf bestimmte Umgebungsfunktionen zu verlassen, können Sie asynchrones Verhalten erreichen durch die Nutzung der ES6-Versprechen. Versprechen bieten einen Mechanismus auf Sprachebene zum Definieren asynchroner Vorgänge. Die an Versprechen angehängten Rückruffunktionen (über then und Catch) werden immer asynchron ausgeführt, um sicherzustellen, dass der Code, der dem Versprechen folgt, nicht blockiert.
Das obige ist der detaillierte Inhalt vonWann sind JavaScript-Rückrufe asynchron?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!