![](/img/trans.png)
[英]Shall I always invoke either JQuery Deferred.resolve or Deferred.reject?
[英]Should I return the result of deferred.resolve/reject?
使用Q deferreds時,我應該返回deferred.resolve
和deferred.reject
的結果嗎?
function foo() {
var deferred = Q.defer();
service.doSomethingAsync({
success: function() {
deferred.resolve(); // should I return the result of resolve here?
},
fail: function(err) {
deferred.reject(err); // should I return the result of reject here?
}
});
return deferred.promise;
}
您的代碼可以更改為:
function foo() {
var deferred = Q.defer();
service.doSomethingAsync({
success: deferred.resolve,
fail: deferred.reject
});
return deferred.promise;
}
當然,要從foo()方法返回的內容取決於要實現的內容。 在許多情況下,您隱藏內部結構,僅返回一個空數組;如果出現故障,則返回null。 但是..如果需要...您可以拋出錯誤。 如果您想處理函數之外的事情,可以,例如返回錯誤對象……就像我說的那樣……要視情況而定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.