Heim  >  Artikel  >  Web-Frontend  >  Wann sind JavaScript-Rückrufe asynchron?

Wann sind JavaScript-Rückrufe asynchron?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-20 11:45:30281Durchsuche

When Are JavaScript Callbacks Asynchronous?

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!

Stellungnahme:
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