Wann sollte ich ein Versprechen ablehnen?

Ich schreibe einen JS-Code, der Versprechen verwendet. Zum Beispiel öffne ich ein Formular-Popup und gebe a zurückjQuery Deferred Objekt. Es funktioniert so:

Wenn der Benutzer im Formular auf OK klickt und es überprüft, wird die Zurückgestellte in ein Objekt aufgelöst, das die Formulardaten darstellt.

Wenn der Benutzer auf Abbrechen klickt, wird die Zurückgestellte in eine Null aufgelöst.

Was ich zu entscheiden versuche, ist, sollte der Aufgeschobene statt ablehnen, statt zu lösen? Im Allgemeinen frage ich mich, wann ich mich in ein Nullobjekt auflösen und wann ich es ablehnen soll.

Hier ist ein Code, der die beiden Positionen demonstriert:

// Resolve with null.
var promise = form.open()
    .done(function (result) {
        if (result) {
            // Do something with result.
        } else {
            // Log lack of result.
        }
    });

// Reject.
var promise = form.open()
    .done(function (result) {            
        // Do something with result.            
    })
    .fail(function () {
        // Log lack of result.
    });

Antworten auf die Frage(3)

Ihre Antwort auf die Frage