如何处理链接承诺的nodejs bluebird错误

时间:2016-02-12 10:18:46

标签: javascript node.js callback promise bluebird

我有两个返回承诺的函数。但我想在两个函数的一个地方抛出一个错误。目前我只为第二个函数获取了一个catch处理程序。 以下是我的代码

modules.function1(sUserData)
  .then(function(finalResult) {
    console.log("controller Final result " + finalResult)
    return finalResult;
  }).then(function(finalResult) {
    console.log('call generateJson');
    return modules.modelClip.function2();
  }).then(function(finalResult) {
    console.log('helper result : ', finalResult);
  }).error(function(e) {
    console.log("controller Error handler " + e)
  }).catch(function(e) {
    console.log("controller Catch handler " + e)
  });

下面是function1代码

exports.function1 = function(sResultDetail) {
  console.log('inside function1');
  return new modules.promise(function(resolve, reject) {
      reject(new Error("error_34"));// or resolve('success');
  });
}

下面是function2代码

exports.function2 = function(sResultDetail) {
  console.log('inside function2');
  return new modules.promise(function(resolve, reject) {
      reject(new Error("error_34"));// or resolve('success');
  });
}

那么如何在一个地方获得两个函数的错误,这意味着在第一次调用中。我可以实现或有任何其他方式来做类似的事情吗?任何帮助将不胜感激。谢谢

0 个答案:

没有答案