Promise 如何配合jq的ajax使用?

我只是一个渣渣
  • 278

clipboard.png

clipboard.png
itemSeq请忽略。。
我是想问。Promise 如何配合jq的ajax使用?我知道jq的ajax有自己的success和error方法。可是我想改成promise可以吗??然后我这个js文件写一堆的接口,在html文件里面调用Api.xxx(方法名)。然后
clipboard.png
在html这样处理成功和失败的回调。。怎么写Promise + jq ajax

回复
阅读 4.7k
4 个回答

jQuery本身是支持deferred的只是它用的done而不是then
也就是说你可以:

$.get(...).done(resolveCallback).catch(rejectCallback);

转换的话可以像你写的一样只是将then换为done
或者

Promise.resolve($.ajax(...));

jq你就按jq的ajax方法写就行,sucess时resolve是没有问题的

return Promise((resolve,reject)=>{
    $.ajax({ 
      type:'get', 
      url:'http://www.www', 
      success:function(data){ 
          resolve(data)
      }, 
      error:function(err){ 
        reject(err)
      } 
    });
})

封装一下jQuery的Ajax方法:

var Ajax = function (options) {
    return new Promise(function(resolve,reject) {
        $.ajax({
            ...  
            success: function(res) {
                resolve(res);
            }
        })
    })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏