Node.js 将错误抛出承诺流之外

Node.js 将错误抛出承诺流之外,node.js,promise,bluebird,Node.js,Promise,Bluebird,我有一个方法调用一个承诺的函数。然而,在调用此方法之前,我需要执行一些验证 var outerMethod = function(params) { if(!params) throw new Error(); return somePromiseFunction(); } 抛出第一个错误的正确方法是什么。我已经尝试过将整个outerMethod内部内容包装在一个newpromise(函数(resolve,reject){})中但这并没有完全起作用 你可以回答被拒绝的承诺,如下所示:

我有一个方法调用一个承诺的函数。然而,在调用此方法之前,我需要执行一些验证

var outerMethod = function(params) {
  if(!params) throw new Error();

  return somePromiseFunction();
}

抛出第一个错误的正确方法是什么。我已经尝试过将整个outerMethod内部内容包装在一个
newpromise(函数(resolve,reject){})中但这并没有完全起作用

你可以回答被拒绝的承诺,如下所示:

var outerMethod = function(params) {
    return (!params)? q.defer().reject(new Error('missing params')) : somePromiseFunction();
}

就风格而言,我会反转条件
(params)?/*快乐案例*/:/*悲伤案例*/
,但由于我们讨论的是拒绝,所以我把它放在了否定的位置。

你知道如何以简化的方式处理蓝鸟吗?@Yashua返回
承诺。拒绝(新错误(…)
可能是最干净的方式。