Ich habe einige Code implementiert, wo einige synchrone Funktionen asynchronen Code folgt. Zum Beispiel:Sollte synchrone Code von Promise aufgerufen werden. Dann ein neues Versprechen erstellen
function processSomeAsyncData() {
asyncFuncCall()
.then(syncFunction)
.catch(error);
}
Wenn ich das richtig verstehe then
ist auch ein Versprechen. Soll ich dann im synchronen Code auch ein Versprechen erstellen?
function syncFunction() {
const p = new Promise (function (resolve, reject) {
//Do some sync stuff
...
resolve(data);
}
return p;
}
Wenn das nicht notwendig ist, wie lehnen Sie das Versprechen aus dem synchronen Code ab, wenn ein Fehler aufgetreten ist?
In Ihrem zweiten Beispiel wird 'new Promise' nicht benötigt, stattdessen sollten' Promise.resolve' und 'Promise.reject' Funktionen verwendet werden. – alexmac
In Ihrem ersten Codebeispiel wird die Rückgabe eines Versprechens oder eines Wertes mit Sicherheit nicht mit der anschließenden Verkettung mit ".then" verbunden. – nils
Ich mache einen schnellen Test lokal auf meinem Computer, um dies zu beweisen. Gib mir eine Sekunde. :) –