Über JavaScript Async (Detailliertes Tutorial)
JavaScript ist asynchron für Anfänger geschrieben und hat einen bestimmten Referenzwert. Interessierte Freunde können sich darauf beziehen
Eines Tages habe ich plötzlich eine Methode geschrieben, um Daten aus dem Hintergrund aufzurufen und auf der Startseite anzuzeigen, aber die Ausgabe Das Ergebnis ist immer leer und undefiniert und es können keine Daten abgerufen werden. Nachdem ich nach Informationen aus verschiedenen Quellen gesucht hatte, stellte ich fest, dass ich in die „Grube“ von JS Asynchronous geraten war.
Wir hören oft die Konzepte Single-Threaded, Multi-Threaded, synchronisiert und asynchron. Was genau sind das also?
Beginnen wir also mit den oben genannten Konzepten
Grundlegendes Verständnis von Single-Threaded, Multi-Threaded, synchronisiert und asynchron
Jedes laufende Programm (Ein Prozess) hat mindestens einen Thread, den sogenannten Hauptthread. Der Hauptthread wird beim Start des Programms erstellt und dient zur Ausführung der Hauptfunktion.
1. Ein einzelner Thread ist ein Thread mit nur einem Hauptthread. Der Code wird sequentiell von oben nach unten ausgeführt. Der Hauptthread ist für die Ausführung des gesamten Codes des Programms verantwortlich (Anzeige und Aktualisierung der Benutzeroberfläche, Netzwerkanforderungen). , lokaler Speicher usw.) [Ein Thread Es ist ein bisschen ermüdend, all diese Dinge zu erledigen, wenn man nur darüber nachdenkt]
2. Multithreading ist, wie der Name schon sagt, ein Programm mit mehreren Threads, das sein kann vom Benutzer erstellt. Mehrere von Benutzern unabhängig voneinander erstellte Prozesse sind relativ zum Hauptthread untergeordnete Threads. Der untergeordnete Thread und der Hauptthread sind unabhängige laufende Einheiten, und ihre jeweiligen Ausführungen beeinflussen sich nicht gegenseitig, sodass sie gleichzeitig ausgeführt werden können.
Wird Ihnen ein wenig schwindelig, wenn Sie nur diese trockenen Theorien hören? Zufälligerweise war mir auch schwindelig, als ich es zum ersten Mal sah.
Bei der Suche nach Informationen bin ich auf eine so anschauliche Metapher von anderen gestoßen.
Single-Threading bedeutet beispielsweise, dass Sie in die Küche gehen, um zu kochen und zu kochen, und Multi-Threading bedeutet, dass zwei Personen alleine kochen und die andere kocht.
Das sollte das Verständnis erleichtern, oder?
Und was ist synchron und asynchron?
Lassen Sie uns zur Veranschaulichung ein einfaches Beispiel aus dem Leben verwenden.
Sie rufen an, um ein Hotel zu buchen, und fragen das Personal, ob ein Zimmer verfügbar ist. Zu diesem Zeitpunkt muss das Personal prüfen, ob ein Zimmer verfügbar ist, bevor es Ihnen antworten kann.
Synchronisation bedeutet, nicht den Hörer aufzulegen und zu warten, bis das Personal Ihnen sagt, ob ein Zimmer frei ist.
Asynchron bedeutet, dass Sie den Hörer auflegen, andere Dinge wie Essen und Trinken erledigen und das Personal Sie anruft, nachdem es die Informationen gefunden hat.
Dann ist unser Thema hier
Was ist der asynchrone Betrieb von JS?
Die Ausführungsumgebung von JS ist Single-Threaded, das heißt, das Programm wird sequentiell ausgeführt und kann jeweils nur eine Aufgabe ausführen. Wenn das Programm weiter ausgeführt werden soll, muss es warten Es spielt keine Rolle, wie lange es dauert, bis die aktuelle Aufgabe ausgeführt wird (wenn das nachfolgende Programm schnell ausgeführt wird, wird es wirklich unangenehm sein, zu warten).
Um das unangenehme Blockierungsproblem nachfolgender Programme zu lösen. JavaScript verfügt über einen asynchronen Verarbeitungsmodus, bei dem es sich tatsächlich um eine verzögerte Verarbeitung handelt.
Lassen Sie uns zur Veranschaulichung ein Beispiel geben.
var getUserInfo = function () { $.getJSON("http://www.easy-mock.com/mock/5a09868228b23066479b8379/ajaxData/getUserInfo", function () { return data; }); } var data = getUserInfo(); renderUserInfo(data)
Der Aufruf der getUserInfo-Funktion kann viel Zeit in Anspruch nehmen. Daher muss renderUserInfo warten, bis die Daten abgerufen werden, bevor es ausgeführt werden kann. Glücklicherweise verfügt JS über asynchrone Vorgänge. Beim Abrufen von Daten müssen Sie nicht darauf warten, dass renderUserInfo die Daten abruft, sondern sie direkt ausführen.
In diesem Fall werden diese beiden Funktionen in welcher Reihenfolge ausgeführt? Keine Sorge, lassen Sie es uns debuggen:
var getUserInfo = function () { console.log('aaa'); $.getJSON("http://www.easy-mock.com/mock/5a09868228b23066479b8379/ajaxData/getUserInfo", function () { console.log('bbb'); return data; }); } var data = getUserInfo(); console.log(data); console.log('ccc'); renderUserInfo(data);
Die Ausgabe der sequentiellen Ausführung wurde ursprünglich als „aaa“, „bbb“, „ccc“ angenommen, oder?
Allerdings sind die Dinge nicht so einfach. Werfen wir einen Blick auf die Konsolenausgabe:
Die Ausgabeergebnisse sind nicht sequentiell.
Das heißt, wenn die Funktion zum Abrufen von Daten durch getJSON ausgeführt wird, wartet das Programm nicht darauf, dass es die Daten abruft, bevor es den nächsten Schritt ausführt, sondern überspringt die Phase des Datenabrufs direkt führt die Ausgabedaten aus. Daher sind die Daten ebenfalls leer.
Dies ist der asynchrone Mechanismus von JS.
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
So verwenden Sie JavaScript, um den Effekt des linken Menüs zu erzielen
So erzielen Sie den Effekt „Alles auswählen und abbrechen“. in JavaScript
So rufen Sie vuex auf, um Schnittstellendaten in vue.js zu speichern
Das obige ist der detaillierte Inhalt vonÜber JavaScript Async (Detailliertes Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

So verwenden Sie PHP und JS zum Erstellen eines Aktienkerzendiagramms. Ein Aktienkerzendiagramm ist eine gängige technische Analysegrafik auf dem Aktienmarkt. Es hilft Anlegern, Aktien intuitiver zu verstehen, indem es Daten wie den Eröffnungskurs, den Schlusskurs, den Höchstkurs usw niedrigster Preis der Aktie. In diesem Artikel erfahren Sie anhand spezifischer Codebeispiele, wie Sie Aktienkerzendiagramme mit PHP und JS erstellen. 1. Vorbereitung Bevor wir beginnen, müssen wir die folgende Umgebung vorbereiten: 1. Ein Server, auf dem PHP 2. Ein Browser, der HTML5 und Canvas 3 unterstützt

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

Gleichzeitige und asynchrone Programmierung Bei der gleichzeitigen Programmierung geht es um die gleichzeitige Ausführung mehrerer Aufgaben. Bei der asynchronen Programmierung handelt es sich um eine Art der gleichzeitigen Programmierung, bei der Aufgaben keine Threads blockieren. asyncio ist eine Bibliothek für die asynchrone Programmierung in Python, die es Programmen ermöglicht, I/O-Vorgänge auszuführen, ohne den Hauptthread zu blockieren. Ereignisschleife Der Kern von Asyncio ist die Ereignisschleife, die I/O-Ereignisse überwacht und entsprechende Aufgaben plant. Wenn eine Coroutine bereit ist, wird sie von der Ereignisschleife ausgeführt, bis sie auf E/A-Operationen wartet. Anschließend wird die Coroutine angehalten und die Ausführung anderer Coroutinen fortgesetzt. Coroutinen Coroutinen sind Funktionen, die die Ausführung anhalten und fortsetzen können. Das Schlüsselwort asyncdef wird zum Erstellen von Coroutinen verwendet. Die Coroutine verwendet das Schlüsselwort „await“, um auf den Abschluss des E/A-Vorgangs zu warten. Die folgenden Grundlagen von Asyncio

Die Beziehung zwischen js und vue: 1. JS als Eckpfeiler der Webentwicklung; 2. Der Aufstieg von Vue.js als Front-End-Framework; 3. Die komplementäre Beziehung zwischen JS und Vue; Vue.

Asynchrone PHP-Coroutinen-Entwicklung: Beschleunigung von Daten-Caching sowie Lese- und Schreibvorgängen. In der tatsächlichen Anwendungsentwicklung sind Daten-Caching sowie Lese- und Schreibvorgänge häufige Leistungsengpässe. Um die Systemeffizienz und das Benutzererlebnis zu verbessern, kann die asynchrone PHP-Coroutine-Technologie zur Beschleunigung dieser Vorgänge eingesetzt werden. In diesem Artikel werden die grundlegenden Konzepte und Prinzipien der asynchronen PHP-Koroutine vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Das Konzept und Prinzip der asynchronen Coroutine Asynchrone Coroutine ist eine effiziente gleichzeitige Programmiertechnologie, die einen einzelnen Thread verwendet, um eine einfache Aufgabenplanung und Zusammenarbeit zu erreichen. Im Vergleich zur herkömmlichen Multithread- oder Multiprozess-Parallelprogrammierung

Einführung in JS-Torch JS-Torch ist eine Deep-Learning-JavaScript-Bibliothek, deren Syntax PyTorch sehr ähnlich ist. Es enthält ein voll funktionsfähiges Tensorobjekt (kann mit verfolgten Farbverläufen verwendet werden), Deep-Learning-Ebenen und -Funktionen sowie eine automatische Differenzierungs-Engine. JS-Torch eignet sich für die Deep-Learning-Forschung in JavaScript und bietet viele praktische Tools und Funktionen zur Beschleunigung der Deep-Learning-Entwicklung. Image PyTorch ist ein Open-Source-Deep-Learning-Framework, das vom Meta-Forschungsteam entwickelt und gepflegt wird. Es bietet einen umfangreichen Satz an Tools und Bibliotheken zum Erstellen und Trainieren neuronaler Netzwerkmodelle. PyTorch ist einfach, flexibel und benutzerfreundlich konzipiert und verfügt über dynamische Berechnungsdiagrammfunktionen
