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

发布于 2022-09-11 16:41:42 字数 799 浏览 23 评论 0

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

clipboard.png

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);
        })
    })
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉城已无爱 2022-09-18 16:41:42

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

伤痕我心 2022-09-18 16:41:42

export async deleteInspect = (params1,params2){

   let  deleteItem = await axios.post(`${base}${itempath}/inspect/item/delete`,params1);
   let  deleteGroup = await  axios.post(`${base}${itempath}/inspect/item/delete`,params2);

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文