Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie Promise-Objekte in JavaScript

So verwenden Sie Promise-Objekte in JavaScript

不言
不言Original
2018-12-11 16:38:504383Durchsuche

Promise ist in JavaScript ein Objekt, das den endgültigen Abschluss oder Misserfolg der asynchronen Verarbeitung darstellt. Mit dem Promise-Objekt kann auch der Erfolgs- und Misserfolgsprozess der asynchronen Verarbeitung klargestellt werden. So kann die Ursache des Problems beseitigt werden.

So verwenden Sie Promise-Objekte in JavaScript

Promise-Objekte können auch eine gleichzeitige asynchrone Verarbeitung durchführen. Mit anderen Worten, mehrere asynchrone Verarbeitungen können nacheinander durchgeführt werden und die Ergebnisse der vorherigen Verarbeitung werden in verwendet nächste Bearbeitung.

JavaScript führt Befehlsanweisungen nacheinander aus

Beispielsweise gibt es unten drei Funktionen. Wenn die Verarbeitung durch die Funktion „sample2“ verzögert wird, wird die Funktion „sample3“ nicht verarbeitet .

Ein Beispiel für ein sequentiell ausgeführtes JavaScript-Programm

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>
<script>
var result = "正确。";
var doSomething1 = function() {
  console.log(&#39;处理没有出现问题1&#39; + result);
};
var doSomething2 = function() {
  console.log(&#39;出现错误 &#39; + result2);
};
var doSomething3 = function() {
  console.log(&#39;处理没有出现问题 3&#39; + result);
};
doSomething1();
doSomething2();
doSomething3();
</script>
</body>
</html>

Das laufende Ergebnis ist wie folgt

So verwenden Sie Promise-Objekte in JavaScript

JavaScript-Rückruffunktion

Im Gegensatz dazu

Im Gegensatz dazu lesen einige Methoden die Seite nicht ein und verarbeiten sie nicht sequentiell.

Nach dem Lesen der Seite kann sie beispielsweise nach 5 Sekunden ausgeführt werden.

Dies wird nach 5 Sekunden durchgeführt, wenn die Seite geladen und andere Verarbeitungen abgeschlossen sind.

Programm wird nach 5 Sekunden Seitenlesen ausgeführt

Der Code lautet wie folgt

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>
<script>
setTimeout(function() {
  alert(&#39;刚刚过去了5秒!&#39;);
}, 5000)
</script>
</body>
</html>

Der Effekt ist wie folgt: nach 5 Sekunden Die folgende Seite wird angezeigt

So verwenden Sie Promise-Objekte in JavaScript

Auf diese Weise wird nach Abschluss eines bestimmten Vorgangs die entsprechende Funktion, die zurückgerufen wird, als Rückruf bezeichnet eine Callback-Funktion.

Rückruffunktion und Versprechen

Wenn eine Rückruffunktion vorhanden ist, können Sie die Rückruffunktion nicht zur einfachen Lösung asynchroner Verarbeitung und anderer Probleme verwenden.

Das liegt daran, dass die Verwendung von Callback-Funktionen zum Erstellen einer komplexen asynchronen Verarbeitung zu sehr komplexem Code führt.

Darüber hinaus werden Rückruffunktionen verwendet, um die Ergebnisse der asynchronen Ausführung zu empfangen, und ihre Spezifikation hängt von jeder Bibliothek ab.

Was dort erscheint, ist „Versprechen“.

Durch die Verwendung von Versprechen können Sie die asynchrone Verarbeitung einfacher erstellen und Ergebnisse auf einheitliche und standardisierte Weise erhalten.

Nutzungsumgebung

Da einige Browser nicht mit Promises kompatibel sind, prüfen Sie am besten vorab, ob es in Ihrer Umgebung einen Browser gibt, der die Nutzung unterstützen kann.

Die Rolle des Versprechens

1. Mit dem Versprechen können Sie garantieren, dass es nicht aufgerufen wird, bevor die aktuell verarbeitete JavaScript-Ereignisschleife abgeschlossen ist. Dies ermöglicht eine praxisgerechte und auftragsgerechte Abwicklung.

2. Wenn die asynchrone Verarbeitung abgeschlossen ist, aber fehlschlägt, kann die Verwendung von .then zum Registrieren eines Rückrufs auch den Vorgang garantieren. Mit anderen Worten: Der Aufruf erfolgt erst, wenn die Ausführung der aktuell verarbeiteten JavaScript-Ereignisschleife abgeschlossen ist.

3. Mit .promise kann .then mehrfach implementiert werden. Mit anderen Worten: Mehrere Rückruffunktionen werden garantiert unabhängig voneinander in der Reihenfolge ausgeführt, in der sie hinzugefügt werden.

Als nächstes werfen wir einen Blick auf Wie man Promise verwendet

Verwenden Sie die folgende Syntax, um Promise zu beschreiben. Die Reihenfolge der Ausführung von

new Promise( function(resolve, reject) { ... } );

ist

function(resolve, reject) { ... }

wurde ausgeführt

new Promise

wird ausgeführt

function(resolve, reject)

führt Resolve aus, wenn die Die Verarbeitung ist erfolgreich. Führen Sie die Ablehnung aus, wenn die Verarbeitung fehlschlägt.

Schauen wir uns ein konkretes Beispiel an

Wie bei einer Callback-Funktion erstellen wir ein Programm, das nach 5 Sekunden verarbeitet wird.

Der Code lautet wie folgt

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>
<script>
function hidouki() {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve(&#39;异步执行成功&#39;);
        }, 5000);
    });
}
hidouki().then(function (value) {
  console.log(value);
}).catch(function (error) {
  console.log(error);
});
</script>
</body>
</html>

Ausführungsergebnisse

So verwenden Sie Promise-Objekte in JavaScript

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Promise-Objekte in JavaScript. 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
Vorheriger Artikel:Was bedeutet JS?Nächster Artikel:Was bedeutet JS?