vue所有请求完成后传参
时间: 2023-10-25 20:24:15 浏览: 89
解决vue处理axios post请求传参的问题
你可以使用 axios 的并发请求和 Promise.all() 方法来实现所有请求完成后传参的需求,具体步骤如下:
1. 定义需要发送的请求列表。
```
const requests = [axios.get('/api/xxx'), axios.post('/api/yyy', {data})]
```
2. 发送所有请求并等待所有请求完成。
```
axios.all(requests).then(axios.spread((...responses) => {
// 所有请求完成后执行的操作
}))
```
3. 在请求完成后的回调函数中,可以使用 responses 数组来获取每个请求的响应结果。
```
axios.all(requests).then(axios.spread((...responses) => {
// 所有请求完成后执行的操作
const response1 = responses[0]
const response2 = responses[1]
// 将结果传递给下一个函数
nextFunction(response1, response2)
}))
```
4. 在回调函数中,可以将请求结果传递给下一个函数进行处理。
```
axios.all(requests).then(axios.spread((...responses) => {
// 所有请求完成后执行的操作
const response1 = responses[0]
const response2 = responses[1]
// 将结果传递给下一个函数
nextFunction(response1, response2)
}))
function nextFunction(response1, response2) {
// 处理请求结果
}
```
这样,当所有请求完成后,就可以将请求结果传递给下一个函数进行处理了。
阅读全文