0
這是我的異步搜索功能。告訴呼叫者一個函數'很好',一個承諾不能滿足
function searchAsync(searchText) {
return new WinJS.Promise(function (complete) {
if (searchText.length > 2) {
// Asynchronously query the API with the search text
} else {
// Can't return a promise, since 'searchText' is too short
}
});
}
假設主叫方不提供searchText
超過2個字符,我怎麼能告訴他,他必須提供更長的搜索文本?
我可以返回null
......但是,由於呼叫者期望承諾,我寧願告訴他,沒有承諾可以給予。
只是立即履行承諾與錯誤行動。 – dandavis
@dan,我對重複的評論表示歉意,我沒有解析'履行......有錯誤行爲「。我將保持鏈接到[wrapError()](http://msdn.microsoft.com/en-us/library/windows/apps/br229784.aspx),並刪除其餘的。 –
好吧,當事情很好的時候,你答應回來。你不能在啓動搜索的函數中處理錯誤,調用第二個參數來調用錯誤處理程序? – dandavis