我现在前端有个请求 ,其他条件相同的情况下 ,有一个字段的提交C就返回,订单数据列表 ,提交P就返回,运单数据列表 ,返回的数据结构大多相似,个别字段不同,我如何请求当这个这段提交为空的时候 ,我同时请求两次 ,一个c,一个p,如何再把两个列表将相同的字段合并
时间: 2024-09-20 08:04:00 浏览: 132
在前端处理这种场景时,你可以考虑使用JavaScript的异步编程技术,比如Promise.all()方法,来并发发送这两个请求。首先,创建两个独立的API调用函数,分别对应"C"和"P"的请求:
```javascript
function getOrderListByType(type) {
return fetch('your-api-url?submitType=' + type)
.then(response => response.json())
.catch(error => console.error('Error:', error));
}
// 调用函数
const orderRequest = getOrderListByType('C');
const waybillRequest = getOrderListByType('P');
// 当submitType为空或未提供时,发送两个请求
const submitType = ''; // 如果需要判断空值,请在这里检查
if (!submitType || submitType === '') {
Promise.all([orderRequest, waybillRequest])
.then(results => {
const [orderData, waybillData] = results;
// 合并两个列表(假设它们都有一个通用的字段比如id)
const combinedData = orderData.map(item => ({
...item,
// 假设waybillData中的每个对象都有对应的waybillId字段
waybillId: waybillData.find(w => w.id === item.id)?.waybillId
}));
// 这里可以根据实际情况处理合并后的数据
// 例如,展示或者进一步操作combinedData
console.log(combinedData);
})
.catch(err => console.error('Failed to fetch both lists:', err));
}
```
在这个例子中,`orderRequest` 和 `waybillRequest` 是并发发起的,如果`submitType`为空,则会等待两个请求完成后再合并结果。你需要根据实际的响应结构调整合并逻辑,确保字段名的一致性和兼容性。
阅读全文
相关推荐


















