【发布时间】:2017-06-23 12:06:02
【问题描述】:
我的代码如下所示。当我执行q.reject(new Error("outside test") 时,它会打印“失败功能”。但是当我执行q.reject(new Error("inside test") 时,它不会进入失败功能块并且什么也不打印。不知道为什么会发生这种情况以及实现我想要的替代方案。有人可以帮忙吗?
var q = require('q');
function test(a,callback){
return callback("a");
}
function test2(){
q(undefined)
.then(function(){
//return q.reject(new Error("outside test"));
test("a",function(err){
console.log("here2");
return q.reject(new Error("inside test"));
});
})
.fail(function(err){
console.log("Fail function");
});
}
test2();
【问题讨论】:
-
嗯,你需要从
then回调函数中调用return。不是来自其他任何地方。您的实际问题是什么(如果您已经找到了解决方案)?你控制test的代码吗?