代码之家  ›  专栏  ›  技术社区  ›  Simsons

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

  •  1
  • Simsons  · 技术社区  · 4 年前

    我正在使用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。然而,一个错误,它永远不会进入catch块。对于成功电话,我使用 axios.spread response[0] ,我看到的是承诺,而不是已解决的价值观。

    我错过了什么?

    1 回复  |  直到 4 年前
        1
  •  1
  •   eol    4 年前

    newReqs , modifiedReqs deleteRequests docs ,不能将数组内部的数组传递给 axios.all .

    axios.all() :

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