繁体   English   中英

使用axios.all时无法捕获异常

[英]Unable to catch exceptions when using axios.all

我正在使用 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]内部时,我看到的是 promise,而不是已解析的值。

我错过了什么?

newReqsmodifiedReqsdeleteRequests是 axios 请求中的 arrays。 根据文档,您不能将数组内的 arrays 传递给axios.all

但是,您可以展开每个内部 arrays 并将生成的展平数组传递给axios.all()

return axios.all([...newReqs, ...modifiedReqs, ...deleteRequests]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM