Я пишу код JS, который использует promises. Например, я открываю всплывающее окно формы, и я возвращаю объект jQuery Deferred. Он работает следующим образом:
-
Если пользователь нажимает кнопку "ОК" в форме и проверяет ее, Deferred разрешает объект, представляющий данные формы.
-
Если пользователь нажимает кнопку "Отмена", то "Отложенное" разрешает нулевое значение.
Что я пытаюсь решить, должен ли Deferred вместо этого отклонять, а не разрешать? В более общем плане, мне интересно, когда мне нужно разрешить что-то вроде нулевого объекта, и когда я должен отклонить?
Вот пример кода, демонстрирующего две позиции:
// 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.
});