这是我的异步搜索功能。
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
}
});
}
假设呼叫者没有提供超过2个字符的searchText
,我怎么能告诉他他必须提供更长的搜索文本?
我可以回复null
......但是,当打电话者希望得到一个承诺时,我宁愿告诉他没有任何承诺。
答案 0 :(得分:3)
添加错误处理程序,并在Promise处于错误状态时调用它。
function searchAsync(searchText) {
return new WinJS.Promise(function (complete, error) {
if (searchText.length > 2) {
// Asynchronously query the API with the search text
complete(results);
} else {
// Can't return a promise, since 'searchText' is too short
error();
}
});
}