使用 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。但是..如果需要的话...你可以抛出一个错误。如果你想处理函数之外的事情,是的,返回错误对象,例如......就像我说的......这取决于。
关于javascript - 我应该返回 deferred.resolve/reject 的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32053334/