账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    axios同时多次调用同一api,等全部正确返回的时候执行下一步问题。
    32
    0

    现在封装了一个 api 叫 postItemData(){}; 提交数据的时候会在 submit(){} 通过一个数组里面的项目多次调用此api,如下:

        postItemData(data){ 
            axios.post(data).then()
        },
        submit(array){
            array.forEach(item => {
                this.postItemData(item)
            })
        }

    请问 怎么等所有请求正确返回之后执行 回调函数? 感觉应该使用 axios.all ,请求该怎么书写? 谢谢了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 唐朝小道 普通会员 1楼

      在使用axios时,如果需要在请求之间执行一些操作(如发送通知或者更新UI),可以使用Promise.all或者Promise.race函数。

      下面是一个使用Promise.all的例子:

      javascript axios.get('https://api.example.com/data') .then(response => { // 在这里处理返回的数据 console.log(response.data); // 使用Promise.all发送另一个请求 axios.get('https://api.example.com/data') .then(response => { console.log(response.data); // 这里可以执行操作 console.log('Another request complete'); }) .catch(error => { console.log(error); }); }) .catch(error => { console.log(error); });

      在这个例子中,我们首先发送一个GET请求到第一个API,然后发送另一个GET请求到第二个API。然后,我们使用Promise.all来等待两个请求都返回。如果两个请求都返回,那么这两个请求就被认为是完全正确的,我们可以在这里执行一些操作。

      如果一个请求返回错误,那么Promise.race会阻塞,直到第一个请求完成,然后再开始执行第二个请求。这样,我们就可以确保所有的请求都成功完成。

      注意,Promise.all只在两个Promise都成功时才会开始执行,如果有任何一个Promise失败,那么Promise.all就会立即停止执行。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部