У меня есть функция, которая возвращает обещание jQuery. Это выглядит так:
addBooks(books: Array<Books>) {
return $.ajax({
url: '/Books/AddBooks/',
type: 'POST',
data: ko.toJSON(books),
contentType: 'application/json'
});
}
Я делаю это, чтобы повторно использовать эту функцию и выполнять вызовы с цепочкой обеими словами:
addBooks.done(() => { alert("Books added!"); })
Мой вопрос в том, что, если я хочу рано вырваться из addBooks и предотвратить поездку на сервер. Например:
addBooks(books: Array<Books>) {
// An empty array was passed in for some reason.
// Theres nothing to add so dont try to POST
if (books <= 0) return null;
return $.ajax({
url: '/Books/AddBooks/',
type: 'POST',
data: ko.toJSON(books),
contentType: 'application/json'
});
}
Мой пример не будет компилироваться, потому что мой прикованный пример обратного вызова ожидает, что addBooks
вернет объект обещания, а не null. Как я могу вернуть пустое обещание (или какой бы правильный объект мне не вернул в ситуации)?