在承诺流程之外抛出错误
Throwing an error outside of promise flow
我有一个调用承诺函数的方法。但是,在我调用此方法之前,我需要执行一些验证。
var outerMethod = function(params) {
if(!params) throw new Error();
return somePromiseFunction();
}
抛出第一个错误的正确方法是什么。我曾尝试将整个 outerMethod 内部内容包装在 new Promise(function(resolve, reject) { });
中,但这并没有达到目的;
您可以像这样回答被拒绝的承诺:
var outerMethod = function(params) {
return (!params)? q.defer().reject(new Error('missing params')) : somePromiseFunction();
}
在风格上,我会颠倒条件 (params)? /* happy case */ : /* sad case */;
,但由于我们正在谈论拒绝,所以我将其保留为否定。
我有一个调用承诺函数的方法。但是,在我调用此方法之前,我需要执行一些验证。
var outerMethod = function(params) {
if(!params) throw new Error();
return somePromiseFunction();
}
抛出第一个错误的正确方法是什么。我曾尝试将整个 outerMethod 内部内容包装在 new Promise(function(resolve, reject) { });
中,但这并没有达到目的;
您可以像这样回答被拒绝的承诺:
var outerMethod = function(params) {
return (!params)? q.defer().reject(new Error('missing params')) : somePromiseFunction();
}
在风格上,我会颠倒条件 (params)? /* happy case */ : /* sad case */;
,但由于我们正在谈论拒绝,所以我将其保留为否定。