Heim  >  Artikel  >  Web-Frontend  >  Beispiele für Rückgabewerte von then und Catch in ES6 Promise

Beispiele für Rückgabewerte von then und Catch in ES6 Promise

不言
不言Original
2018-07-09 11:08:525906Durchsuche

In diesem Artikel werden hauptsächlich Beispiele für die Rückgabewerte von then und Catch in ES6 vorgestellt. Es hat einen bestimmten Referenzwert. Jetzt können Freunde in Not darauf verweisen. Catch ist der syntaktische Zucker von dann

also

(ja, auch wenn die Rückgabe ein bestimmter Wert ist oder einen Fehler auslöst oder keinen Wert zurückgibt)

Schauen wir uns das an Definition von MDN. Der Genauigkeit halber kann es gesagt werden, dass es etwas chaotisch ist >then方法与catch方法均会返回一个Promise对象
2. Lassen Sie uns über den Rückgabewert und die Fehlerbedingung sprechen.
Beispiele für Rückgabewerte von then und Catch in ES6 Promise1. Rückgabewertsituation: Das von

zurückgegebene Versprechen wird zum return 值(无return的情况下即返回undefined,也是返回值)-Status. throw errorDer Rückgabewert ist return Promise, posten Sie den Code, um das Beispiel zu sehen

var example = new Promise((fulfill, reject)=>{
    let i = 1;
    fulfill(i);
})
example
.then((value)=>{ console.log(value); value++; return value;  })
.then((value) => {console.log(value);                        });

Das Ausgabeergebnis ist wie folgt:

Aufruf der Fufill-Funktion return Wert wird an die nächste Rückruffunktion übergeben FulfilledZurück zur obigen Frage, wenn
作为新Promise对象下一个then的回调函数的参数值 (das heißt, die Funktion gibt undefiniert ohne Rückgabe zurück, das Fundament muss solide sein)

var example = new Promise((fulfill, reject)=>{
    let i = 1;
    fulfill(i);
})
example
.then((value)=>{ console.log(value); value++; })
.then((value) => {console.log(value);});

The Das Ausgabeergebnis lautet wie folgt:
Beispiele für Rückgabewerte von then und Catch in ES6 Promise

2. Fehlersituation auslösen: Das von
没有return呢,那么就会返回undefined zurückgegebene Versprechen wird zum
-Status,

oder
Beispiele für Rückgabewerte von then und Catch in ES6 Promise

erscheint hier Etwas, das schon einmal durcheinander gebracht wurde.

Wiederholen Sie diesen Satz noch einmal:

Mit anderen Worten, Catch ist auch dann, es wird zum Abfangen von Fehlern verwendet und sein Parameter ist der zweite Parameter von then. RejectedWenn also
im Catch vorhanden ist, befindet sich das neue Promise-Objekt ebenfalls im akzeptierenden Zustand. 下一步执行catch中的回调函数Sehen Sie sich das Beispiel an: then的第二个回调函数参数

var example = new Promise((fulfill, reject)=>{
    let i = 1;
    reject(i);
})
example
.catch(()=>{console.log('我是第一个catch的回调函数'); return 1;})
.then(() =>{console.log('我是第一个then的回调函数');    throw Error    })
.catch(()=>{console.log('我是第二个catch的回调函数')})
.then(() => {console.log('我是第二个then的回调函数')})
Das Ergebnis ist wie folgt:


catch为then的语法糖,它是then(null, rejection)的别名。
Nach dem Aufruf der Ablehnungsfunktion wird das Versprechen abgelehnt, also
return 值 ist die erste Die Rückruffunktion des ersten Catch
, also

Die Rückruffunktion des ersten, dann
, also Beispiele für Rückgabewerte von then und Catch in ES6 Promise

Die Rückruffunktion des zweiten Catch

, also 执行第一个catch的回调函数
return 13. Der Fall von Return Promise执行第一个then的回调函数
Was den Fall von Return Promise betrifft, habe ich mich einfach unwohl gefühlt, als ich zum ersten Mal mit der Promise-Syntax in Kontakt kam : Es werden automatisch Promise-Objekte für Sie generiert. ! Später, nachdem ich einen Teil der Quellcode-Analyse gelesen hatte, verstand ich ungefähr, warum das so war. Ich werde auch den Link unten einfügen throw Error执行第二个catch的回调函数Mit dem neu erlernten Wissen habe ich eine Möglichkeit zum Einlesen der Bilder blockiert Plug-in:
https://github.com/Joeoeoe/-i...ruturn undefined(如上文所言)Bitte weisen Sie darauf hin, was nicht gut geschrieben ist, haha执行第二个then的回调函数

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er allen beim Lernen hilft. Bitte beachten Sie die chinesische PHP-Website für weitere verwandte Inhalte!

Verwandte Empfehlungen:

Einführung in die ES6-Klassenvererbung und Super

jQuery-Ajax fordert Json-Daten an und lädt sie auf der Vorderseite. Endseite

Das obige ist der detaillierte Inhalt vonBeispiele für Rückgabewerte von then und Catch in ES6 Promise. 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