promise处理多个相互依赖的异步请求(实例讲解)
程序员文章站
2022-05-14 19:11:01
在项目中,经常会遇到多个相互依赖的异步请求。如有a,b,c三个ajax请求,b需要依赖a返回的数据,c又需要a和b请求返回的数据。如果采用请求嵌套请求的方式自然是不可取的。...
在项目中,经常会遇到多个相互依赖的异步请求。如有a,b,c三个ajax请求,b需要依赖a返回的数据,c又需要a和b请求返回的数据。如果采用请求嵌套请求的方式自然是不可取的。导致代码难以维护,如何请求很多。会出现很多问题。
promise就是解决多个异步请求的问题。 promise是es6提供的一个对象,用来传递异步操作的消息。
promise有三种状态:pending(进行中)、resolved(已完成,又称 fulfilled)和 rejected(已失败)。
直接上代码。有a,b请求,b依赖a的请求数据。如下:
function a(){ return new promise(function(res,rej){ $.ajax({ url:"a", type: "get", async:true, datatype:"json", success:function(data){ console.log(data,"a"); res(data); } }) }); } function b(data){ console.log(data,"data"); return new promise(function(res,rej){ $.ajax({ url:"b", type: "post", async:true, data:json.stringify(data), datatype:"json", success:function(data){ console.log(data,"b"); res(); } }) }); } $("#btn").click(function(){ a().then(function (data){ b(data); }).then(function(){ }) })
接口url在网上找了一个,可以看运行结果:
以上这篇promise处理多个相互依赖的异步请求(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 深入理解ES6的迭代器与生成器
推荐阅读
-
实例讲解Python中SocketServer模块处理网络请求的用法
-
实例讲解Python中SocketServer模块处理网络请求的用法
-
Angular服务Request异步请求的实例讲解
-
promise处理多个相互依赖的异步请求(实例讲解)
-
关于Promise 异步编程的实例讲解
-
微信小程序中使用Promise进行异步流程处理的实例详解
-
用Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案)
-
ajax请求后台接口数据与返回值处理js的实例讲解
-
前端面试之---Promise实现多个请求并成功拿到数据后再执行其他异步请求---ES6中的Promise
-
Angular服务Request异步请求的实例讲解