jQuery promise fail以后的链式调用

请教一段代码:

$.get('a.json').then(fn1).fail(fn2).then(f3)

假如现在AJAX执行出错了,会走fail的fn2方法中,但是如何再让这个链式调用继续下去,好像jquery的promise模式一旦出错就没有办法再继续then下去?如果我想继续then下去有没有什么办法可以封装jquery的自己promise,从而达到链条不断的目的。

阅读 4.2k
2 个回答

自己回答下吧,还是需要把jquery的整个链式调用包装一下的。如下:

return new Promise(function(resolve, reject){
  $.get('a.json').then(function(){
    //success handle
  }, function(){
    //error handle
  }).always(function(){
    resolve();     
  })
})
新手上路,请多包涵

fail是什么函数。是不是catch?或者then(null,onFail())?
若是catch或者then(null,onFail())的话,从函数里面 return 一个 new Promise 就可以继续then了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题