Promise解决AJAX异步问题
来源:互联网 发布:淘宝店铺推广平台 编辑:程序博客网 时间:2024/05/01 04:37
目的:使多个ajax进程能有序的执行,而不是异步同时执行
第一步:给第一个ajax所在的函数(Ajax1)传递一个success参数(函数),当ajax执行完之后,调用success()函数。
第二步:如果后面还有要顺序执行的异步程序,可以参照第一步。
第三步:new Promise(Ajax1()).then(Ajax2);
第四步:如果有多个ajax(异步)需要顺序执行,
new Promise(Ajax1).then(function(){ return new Promise(Ajax2); }).then(function(){ return new Promise(Ajax3); }).then(Ajax4);
over:这样就完成了异步的进程完成顺序执行的要求
事例:异步使用setTimeout代替
function func1(success){ setTimeout(function(){ console.log("func1"); success(); },1000) } function func2(success){ setTimeout(function(){ console.log("func2"); success(); },1000) } function func3(success){ setTimeout(function(){ console.log("func3"); success(); },1000) } function func4(){ setTimeout(function(){ console.log("func4"); },1000) } new Promise(func1).then(function(){ return new Promise(func2); }).then(function(){ return new Promise(func3); }).then(func4);
扩展Promise.all:有三个异步必须都执行完后,才能执行第四个异步
Promise.all( [new Promise(func1), new Promise(func2), new Promise(func3)]).then(func4);
扩展:promise.race():三个异步中有一个执行完之后就执行第四个
Promise.race( [new Promise(func1), new Promise(func2), new Promise(func3)]).then(func4);
阅读全文
0 0
- Promise解决AJAX异步问题
- promise 解决异步问题
- ajax开发:Promise解决多个异步Ajax请求导致的代码嵌套问题
- node中使用promise解决异步问题
- Angular使用Promise解决多个异步回调问题
- Ajax异步交互解决数据乱码问题
- js异步与解决Promise IE兼容问题
- Angularjs Promise 解决异步获取数据导致return返回为空的问题
- Promise解决某个条件需要多个异步结果的问题
- Promise处理JS异步的问题
- 异步:Promise
- 解决JQUERY ajax异步
- (Jquery解决篇) Ajax异步请求 (Eval函数)问题
- ajax&promise
- 使用Promise解决多层异步调用的简单学习
- angularJS中的promise模式以及通过$q解决异步
- 浅析 Angular $q promise 回调异步嵌套解决机制
- Promise解决回调函数的问题
- xcode中新建c程序
- 牛客网 走格点
- poj 3264 Balanced Lineup(线段树 区间最值)
- 记录idea对agent的关联
- RMAN-08137
- Promise解决AJAX异步问题
- vue中属性动态绑定数据方法
- Scene---场景的异步加载
- SmoothDamp与Lerp函数使用问题误区浅析
- linux ps命令
- (CodeForces
- 26. Remove Duplicates from Sorted Array
- LeetCode 414. Third Maximum Number
- 数组Array和操作集合Collections的静态方法;