【发布时间】:2020-08-21 06:16:39
【问题描述】:
我正在使用 axios.all 发送几个合并请求。
我正在使用.map 创建 axios 请求并将它们传递给 axios.all。
function updateCircuitTrayData(newCircuitTrays, updatedCircuitTrays, deletedCircuitTrays, config) {
const newReqs = newCircuitTrays.map(b => axios.post(`/`, b, config));
const modifiedReqs = updatedCircuitTrays.map(b => axios.put(`/`, b, config));
const deleteRequests = deletedCircuitTrays.map(b => axios.delete(`/`, b, config));
return axios.all([newReqs, modifiedReqs, deleteRequests]);
}
updateBrandData(newCircuitTrays, updatedCircuitTrays, deletedCircuitTrays, config)
.then(
axios.spread((...response) => {
// tslint:disable-next-line:no-console
console.log(`Data`, response);
})
)
.catch(err => {
// tslint:disable-next-line:no-console
console.log(`Err`, err);
});
正在调用 API。但是, onError 永远不会出现在 catch 块中。同样对于成功调用,我使用的是axios.spread。但是当我查看 response[0] 内部时,我看到的是一个承诺,而不是解析的值。
我错过了什么?
【问题讨论】:
标签: javascript reactjs asynchronous promise axios