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
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.
1. Rückgabewertsituation: Das von
zurückgegebene Versprechen wird zum return 值(无return的情况下即返回undefined,也是返回值)
-Status. throw error
Der 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); });
Aufruf der Fufill-Funktion return Wert wird an die nächste Rückruffunktion übergeben Fulfilled
Zurü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:
2. Fehlersituation auslösen: Das von 没有return呢,那么就会返回undefined
zurückgegebene Versprechen wird zum
-Status,
oder
Mit anderen Worten, Catch ist auch dann, es wird zum Abfangen von Fehlern verwendet und sein Parameter ist der zweite Parameter von then. Rejected
Wenn 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的回调函数')})
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
, also 执行第一个catch的回调函数
return 1
3. 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的回调函数
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!