虚拟网站怎么做的,谷歌网站优化推广,交换链接营销的典型案例,东莞网站设计及拍摄方案公司【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示#xff08;使用Promise.all和Promise.race#xff09; PomisePomise.allPromise.race Pomise
Pomise.all
Promise.all将多个Promise实例聚合成一个新的Promise实例。请求成功的时候返回的是一个结果数组… 【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示使用Promise.all和Promise.race PomisePomise.allPromise.race Pomise
Pomise.all
Promise.all将多个Promise实例聚合成一个新的Promise实例。请求成功的时候返回的是一个结果数组而失败的时候则返回最先被reject失败的值即如果有一个Pomise失败则整个Pomise都返回失败。Promise.all获得的成功结果数组里的数据顺序和Promise.all接收到的数组顺序是一致的即使Promise1的结果获取的比Promise2要晚。
具体代码如下
templatediv idapp/div
/template
script
import { getuser, getlist, getdetail } from /api/api;
export default {name: App,data() {return {};},mounted() {this.getData();},methods: {//获取后端数据async getData() {let Promise1 await getuser(); //调用成功let Promise2 await getlist(); //调用成功let Promise3 await getdetail(); //调用失败let Promise4 await getdetail(); //调用失败Promise.all([Promise1, Promise2]).then((result) {console.log(result); //[[用户信息], [用户列表]]}).catch((error) console.log(Error in promises ${error}));Promise.all([Promise1, Promise2, Promise3, Promise4]).then((result) {console.log(result); //调用失败。返回Promise3错误信息}).catch((error) console.log(Error in promises ${error}));},},
};
/script
Promise.race
Promise.race([Promise1, Promise2, Promise3])里面哪个结果返回得的快就返回那个结果不管结果本身是成功状态还是失败状态。