首页 > 解决方案 > 异步等待 JS 未正确分配值

问题描述

下面返回initValue.xx undefined,为什么呢?这不是使用异步等待的正确方法吗?

const initVal = await this.call(this.fetchUrl, null, 'GET')
const db = await initVal.data.variables[1].values[1]
const vy = await initVal.data.variables[2].values
const re = await initVal.data.variables[0].values

this.call -

async call(url, query, method) {
try {
      const res = await fetch(url, { method, data: query })
      const json = await res.json()
      return json
    }
    catch (err) {
      return err
    }
  }
}

如果我 console.log(initVal) 我得到正确的值,为什么不在变量中?我已经将函数包装在包含变量的异步中。

的输出initVal

[ { code: 'Region', text: 'region', values: [Array], valueTexts: [Array], elimination: true }, { code: 'ContentsCode', text: 'tabellinnehåll', values: [Array], valueTexts: [Array] }, { code: 'Tid', text: 'valår', values: [Array], valueTexts: [Array], time: true } ] }

标签: javascriptasync-await

解决方案


推荐阅读