猿问

vue 中使用axios.all 请求多个api,后端执行的先后顺序问题。

需要顺序请求两个api,必须先删除item,后删除group。这里用axios.all 调用,但是有时候会出现这中情况,看执行api的顺序没问题,但好像有时候在后端先执行的删除group的api(后一个),导致后端进行检查显示含有item,从而没删掉。

export const deleteInspect=(params1,params2)=>{    return axios.all([
        axios.post(`${base}${itempath}/inspect/item/delete`,params1),
        axios.post(`${base}${itempath}/inspect/group/delete`,params2)
    ]);
}
deleteAllData(itemIdList,groupIdList){    let params1={
        itemIds:itemIdList
    };    let params2={
        groupIds:groupIdList
    };    return new Promise((resolve,reject)=>{
        api.deleteInspect(params1,params2).then((res)=>{            console.log(res);
            resolve(res);
        })
    })
}


潇湘沐
浏览 4803回答 1
1回答

江户川乱折腾

你这样需要的串行,不要使用并行的方式,能够成功比较看运气,后端接受到2个接口处理,看接口处理速度,2个并行的处理,如果删除group的处理的快,那么就会先执行删除group
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答