2016-07-27 19 views
2

Ich lerne über Funktionen zu schreiben, die Versprechen in ES6 zurückkehren, zum Beispiel:Standardrückgabewert für Resolved Versprechen

function async() { 
    return new Promise(function (resolve, reject) { 
    if (doStuff()) { 
     resolve(value); 
    } else { 
     reject(error); 
    } 
    } 
} 

Manchmal gibt es keinen brauchbaren Wert in resolve(value) passieren zurück. In welchen Fällen sollte der Standardwert zurückgegeben werden?

+1

Wir nennen nur in der Regel ohne ein Argument, und das Versprechen zu undefinierten aufgelöst wird. –

+0

Tatsächlich ist es * sehr * selten, dass es keinen Wert gibt, den man zurückgeben kann. Wenn der Anrufer nicht auf * etwas * wartet, warum wartet er und gibt er überhaupt ein Versprechen? – Bergi

Antwort

2

Genau wie Funktionen, die keine return Anweisung haben, geben Sie undefined zurück, sollten Sie ein Versprechen für zurückgeben. Sie können es entweder explizit an resolve übergeben oder einfach das Argument weglassen, das standardmäßig auch undefined ist.

1

Sie können einfach resolve() und reject() ohne Angabe eines Arguments verwenden.

+3

... aber Sie sollten * nie * 'reject' ohne ein Argument verwenden. – Bergi