Quando devo rejeitar uma promessa?
Eu estou escrevendo algum código JS que usa promessas. Por exemplo, eu abro um formulário pop-up e eu retorno umjQuery Adiada objeto. Funciona assim:
Se o usuário clicar em OK no formulário e validar, o Adiado será resolvido para um objeto que representa os dados do formulário.
Se o usuário clicar em Cancelar, o Adiado será resolvido como nulo.
O que eu estou tentando decidir é se o Diferido, em vez disso, rejeitar, em vez de resolver? Mais geralmente, eu estou querendo saber quando devo resolver para algo como um objeto nulo, e quando devo rejeitar?
Aqui está um código demonstrando as duas posições:
// 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.
});