由于jQuery.ajax
api是$.Deferred()
的扩展我试图让ajax调用与承诺模式失败并完成。是否可以识别/忽略某些拒绝/失败回调?
$.ajax(..).done(..).fail(..)
并用它来制作某种Api助手。
function ApiHelper() {
...
this.get = function (path, data) {
return ajax('GET', path, data);
};
}
问题:
目前,我需要两种类型的错误处理。一些全球和一些指定。
如果没有具体的错误,我想处理全局失败。否则,由定义的一个。
我想这样做:
apiHelper.get('path/to/api').done(function() {
//all good
})
function globalHandler() {
//everything goes wrong. notify here.
}
apiHelper.get('path/to/api').done(function() {
//all good
}).fail(function() {
//everything goes wrong., notify here. and ingnore globalHandler.
})
可以识别,如果爽约,没有人处理呢?或忽略一些失败回调?
“与失败,并做了承诺架构” - 实际上是承诺架构'then',完成,失败是,对于传统形式的存在jQuery的具体方法原因。 –
这是诺基亚很高兴为您顺利完成的任务(全局错误处理)。如果你可以修改使用像Bluebird这样的东西,这是一块蛋糕。 –