vue中如何判断当两个ajax都返回结果后隐藏页面

灵魂行者
  • 97

进入一个有loading的页面,当两个ajax都返回结果以后这个loading隐藏,如何判断两个ajax都返回结果了呢?
因为都是异步的所以可能有一个返回了,另外一个过一段时间才返回,不能一直轮询两个ajax的返回结果吧?

回复
阅读 1.5k
2 个回答
axios.all([
    axios.get('xxxxxx'),
     axios.get('xxxxx')
]).then(axios.spread((response1,response2)=>{
 // 上面两个请求都完成后,才执行这个回调方法
}));

所有的请求都完毕后,会收到一个数组,包含着响应对象,里面顺序和请求发送的顺序一致

  1. 简单的方法,把两个请求串起来(第一个请求完成后,再发送第二个,第二个完成了,也就代表所有请求都完了);
  2. 将请求包装为Promise对象,再使用Promise.all,来并行发送请求,也可以得到你想要的
宣传栏