vue 调用后端同样的接口两次每次返回的数组值不一样 如 需要组合成 let a = [{name:'套票',arr:res.data},{name:'门票',arr:res.data}]具体代码实现逻辑
时间: 2024-02-01 08:16:14 浏览: 106
可以考虑使用 Promise.all() 方法来解决这个问题,将同样的接口请求并行执行,然后将结果组合成需要的格式,示例代码如下:
```javascript
let promises = [axios.get('/api/data'), axios.get('/api/data')];
Promise.all(promises).then(results => {
let a = [
{ name: '套票', arr: results[0].data },
{ name: '门票', arr: results[1].data }
];
console.log(a);
}).catch(error => {
console.error(error);
});
```
上述代码中,我们首先定义了一个数组 `promises`,其中包含了两次调用后端接口的 Promise 对象,然后使用 Promise.all() 方法并行执行这两个 Promise 对象,等两个 Promise 都完成之后,将结果组合成需要的格式即可。如果其中任意一个 Promise 对象出现了异常,则会被 Promise.all() 捕获并返回一个错误。
阅读全文