Javascript 已创建方法上的异步/等待-Vue2

Javascript 已创建方法上的异步/等待-Vue2,javascript,vue.js,axios,Javascript,Vue.js,Axios,我已经加载了vue元素包,在我的页面中添加了它的组件。vue: <vue-element-loading :active="isActive" :is-full-screen="true"/> 然后,当页面完成加载时,触发isActive至true: async created () { this.isActive = true await this.fetchData() this.isActive = false } fetchData是一个带有响应的axios

我已经加载了
vue元素
包,在我的页面中添加了它的组件。vue:

<vue-element-loading :active="isActive" :is-full-screen="true"/>
然后,当页面完成加载时,触发
isActive
true

async created () {
  this.isActive = true
  await this.fetchData()
  this.isActive = false
}
fetchData
是一个带有响应的axios get请求。这个想法是显示加载程序,直到axios正确启动并得到响应。但现在,我的加载程序显示0.1毫秒,然后消失

以下是
fetchData
方法:

fetchData () {
  axios.get(globalConfig.OFFERS_URL)
    .then((resp) => {
      this.offersData = resp.data
      console.log(resp)
    })
    .catch((err) => {
      console.log(err)
    })
},

您的
fetchData()
似乎没有从调用
axios.get()
返回
Promise
,因此
等待它将立即解决(即,
axios.get()
完成之前)

修复方法是返回axios.get()的结果。


axios只是返回缓存结果吗?那会很快的。@MarkMeyer,我已经添加了我的方法,它会缓存吗?谢谢,现在可以了。在我的情况下,使用
return
有任何失败吗<代码>承诺是
。然后
,对吗?关于回报承诺,每个人都想准确地使用
return
语句?我的意思是,我仍然不明白js中承诺的概念,你能用简单的话解释一下吗?请看。
fetchData () {
  axios.get(globalConfig.OFFERS_URL)
    .then((resp) => {
      this.offersData = resp.data
      console.log(resp)
    })
    .catch((err) => {
      console.log(err)
    })
},
fetchData() {
  return axios.get()
           .then(/*...*/)
           .catch(/*...*/);
}