【发布时间】:2015-02-10 16:49:57
【问题描述】:
我有一个函数doSomething(),它使用 Q 框架返回一个承诺链。内容类似于:
loadDataSet : function (params) {
return Q.fcall(function() {
//Do Something
})
.then(function(){
//Do Something Else
throw New Error('unexpected error');
});
}
调用代码类似于:
var promise = loadDataSet(args);
我想弄清楚是否引发了该错误。注意,在loadDataSet函数实现中,我没有使用.done()函数。
到目前为止,我的代码看起来像这样,但未能成功捕获错误并适当地处理它(这里,代码被修改,稍微从上面):
try {
loadDataSet(args)
.catch(function(error) {
return error
})
.done();
}....
目标是处理来自 try-catch 块的错误。我错过了什么?
【问题讨论】:
-
它是异步的。你只能使用 Promise 回调来处理它。
-
你能举个例子吗?我对异步比较陌生。 Javascript 中的编程和回调的概念。也欢迎好的资源。
-
q readme 提供了大量示例,包括您正在尝试做的事情。
标签: javascript promise q