我有一個函數返回一個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。我該如何回覆一個空的承諾(或者在這種情況下我應該返回哪個正確的對象)?
我不知道'$ .when'的這種用法,但它正好在文檔中! –