I'm using Q for promises, but when setting up some tests I discover I see way in catching async errors thrown inside a function that returns a promise.
I tried to wrap it inside a Q.when
and chained a fail
and or as below a Q.fcall
and a chained fail
,but I can't get it to work.
var func = function(){
var deferred = Q.defer();
setTimeout(function(){
throw new Error("async error");
},100);
return deferred.promise;
}
Q.fcall(func)
.then(function(){
console.log("success");
})
.fail(function(err){
console.log(err);
})
Is there a way to to this?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…