vue并行请求一组url

url=[
http://api.xxx.com/1.html,
http://api.xxx.com/2.html,
http://api.xxx.com/3.html,
]

vue-cli生成的项目。
vue-resource请求单个url已经会了。

问题:【并行】请求这组url。并行指同一时间同时请求各url,api全部回复后或超时后用数组接收所有的response,不是请求一个等待回复后再请求下一个。

看有人说要用Promise,看了下Promise.all()方法好像比较符合,但我js基础一般,跟vue-resource怎么结合我就不会了。以前用python的gevent实现过这个需求。

阅读 4.8k
1 个回答

在vue-resource的issue中找到了解决办法

var promise1 = Vue.http.get('url1'); // note there is no then or catch callbacks
var promise2 = Vue.http.get('url2');

Promise.all([promise1, promise2]).then(([v1,v2]) => {
    // Process of merging results v1 and v2 together here
  })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题