asyncawit 配合permise实现异步出了问题?

methods: {
    getData() {      if(!this.token) {        console.log('token is null')        return
      }      let tokenBody = {        "Content-Type": "application/json",
      }      let itemsArr = []      this.bymbolArr.forEach(async item => {        console.log(item)        let tokenBody = {          'Content-Type': 'application/json',
        }        let data = await post(Config.getSharesUrl, tokenBody);        if (data.RetrieveItem_Response_3) {          let dataArr = data.RetrieveItem_Response_3.ItemResponse[0].Item[0].Fields.Field;          if(dataArr.length > 0) {            var obj = {}            let arr = dataArr.forEach( item => {              if(item.Double) {
                obj[item.Name] = item.Double
              }
            })
          }
        }        let itemObj = {}
        itemObj[item] = obj        console.log('itemibj='itemObj)
        itemsArr.push(itemObj)
      })      console.log('itemsArr=' + itemsArr)      this.items = itemsArr
    }


拉风的咖菲猫
浏览 108回答 2
2回答

慕沐林林

首先没理解你描述的问题哈,不过看了下代码,forEach中使用async/await,相当于每个await是独立在不同的async function中的,所以相互不会等待。你可以async getData()然后使用for循环代替forEach。

www说

因为外层函数不是异步,你仔细体会一下。
打开App,查看更多内容
随时随地看视频慕课网APP