2023-11-17

2023-11-16  本文已影响0人  奶茶和亮亮

数组中循环请求数据,所有请求完成后返回所有数据

// 获取数据

    async getInfo(id) {

      return await new Promise((resolve, reject) => {

        // 请求接口

        this.$http.get(‘接口名’).then(res => {

          resolve(res.data.data)

        }).catch(() => {

          reject({})

        })

      })

    },

    async handleGoods(arr) { //arr传入数组

      const scoreArr = []

      for (let i = 0; i < arr.length; i++) {

        const data = await this.getInfo(arr[i].id)

        scoreArr.push(data)

      }

   //scoreArr为所有请求完成后的所有数据

    },

//里面的循环不能用forEach,在 forEach 中使用 await 的问题就在于,await 只会等待 Promise 对象完成,然而 forEach 并不会等待回调函数完成,而是在每次调用回调函数之后立即执行下一轮循环

上一篇 下一篇

猜你喜欢

热点阅读