您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

ajax和promise的结合使用方法分享

2024/3/25 23:37:37发布24次查看
本文主要和大家分享ajax和promise的结合使用方法,在需要依赖完成的ajax请求可使用promise保证执行顺序   在第一个请求正确返回后再发送第二个请求。希望能帮助到大家。
/*   定义一个使用promise的ajax请求,这里依赖jquery   参数中请求url为必填参数 */ const ajaxpromise=  param => {   return new promise((resovle, reject) => {     $.ajax({       type:param.type || get,       async:param.async || true,       url:param.url,       data:param.data || ,       success: res => {         resovle(res);       },       error: err => {         reject(err);       }     })   }) } /*    第一个请求 */ let step1 = () => {     ajaxpromise({       url:,     }).then(res => {         console.log(第一个请求正确返回==>+res);           step2(res);       }).catch(err => {         console.log(第一个请求失败);       }) } /*    第二个请求 */ let step2 = (res) => {     ajaxpromise({       type:get,       url:,       data:{name:res}     }).then(res => {         console.log(第二个请求正确返回==>+res);       }).catch(err => {         console.log(第二个请求失败==>+err);       }) } step1();
原生js写ajaxpromise对象
const ajaxpromise =  param => {   return new promise((resovle, reject) => {     var xhr = new xmlhttprequest();     xhr.open(param.type || get, param.url, true);     xhr.send(param.data || null);     xhr.onreadystatechange = () => {      var done = 4; // readystate 4 代表已向服务器发送请求      var ok = 200; // status 200 代表服务器返回成功      if(xhr.readystate === done){       if(xhr.status === ok){         resovle(json.parse(xhr.responsetext));       } else{         reject(json.parse(xhr.responsetext));       }      }     }   }) }
关于promise使用时的几点:
使用方法:先创建一个promise对象new promise(),根据业务需求判断执行成功或失败,成功调用resovle(),失败则调用reject()。
promise对象的then(onfulfilled,onrejected)有两个参数,成功执行onfulfilled,失败执行onrejectd
p.then(function(value) {    // fulfillment成功   }, function(reason) {   // rejection失败 }); //不过通常会使用catch()来捕获失败,上段代码通常写为: p.then(function(value) {     // fulfillment成功 }).catch(function(reason) {     //rejection失败 })
promise对象的then()会返回一个新的promise对象
相关推荐:
微信小程序promise简化回调实例分享
jquery的promise如何正确使用
关于promise对象的简单用法
以上就是ajax和promise的结合使用方法分享的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product