warisFairy 2023-03-29 10:34 采纳率: 44.4%
浏览 27
已结题

vue 循环请求 异步操作

vue 循环请求 异步操作
如果在一个方法里 先执行完成循环里的所有请求再去执行循环外的请求呢

  • 写回答

2条回答 默认 最新

  • MossGrower 新星创作者: 编程框架技术领域 2023-03-29 10:47
    关注

    在 Vue 中,可以使用异步操作来实现循环请求。异步操作可以使用 Promise 或者 async/await 来实现。

    下面是一个使用 Promise 实现循环请求的示例代码:

    async function loop() {  
      const requests = [];  
      for (let i = 0; i < 10; i++) {  
        requests.push(async () => {  
          try {  
            const response = await fetch('/api/request');  
            const data = await response.json();  
            console.log(data);  
            return data;  
          } catch (error) {  
            console.error(error);  
          }  
        });  
      }  
      console.log(requests);  
    }  
      
    loop();
    

    在上面的代码中,我们定义了一个 loop 函数,它接受一个数组作为参数,数组中存放了需要循环请求的数据。在循环中,我们使用 Promise 来异步请求数据,并将请求结果存储在 Promise 对象中。在每次循环中,我们调用 Promise 对象的 then 方法来获取请求结果,并将其打印到控制台上。

    需要注意的是,在使用 Promise 实现循环请求时,需要在每次循环中调用 Promise 对象的 then 方法来获取请求结果,并将其打印到控制台上。如果在循环中出现异常,需要在 catch 块中处理异常。

    另外,如果需要在循环中执行其他操作,可以将这些操作放在 loop 函数中,并在循环外调用 loop 函数来执行这些操作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 3月29日