我应该返回deferred.resolve / reject的结果吗?

时间:2015-08-17 14:45:02

标签: javascript promise q deferred

使用Q延迟时,我应该返回<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs" Inherits="MyWebForm.MyControl" %> <%= myvar %> deferred.resolve的结果吗?

deferred.reject

1 个答案:

答案 0 :(得分:1)

您的代码可以更改为:

function foo() {
  var deferred = Q.defer();

  service.doSomethingAsync({
    success: deferred.resolve, 
    fail:  deferred.reject
  });

  return deferred.promise;
}

您想要从foo()方法返回的内容取决于您当然要实现的目标。在许多情况下,您隐藏内部并返回一个空数组,如果某些内容失败则返回null。但是......如果需要......你可以抛出一个错误。如果你想处理函数之外的东西,是的,请返回错误对象,例如...就像我说的......这取决于。