我想在 mounted() {}
中做这样的事情:
await fetchData1();
await fetchData2UsingData1();
doSomethingUsingData1And2();
所以我想知道这是否有效:
async mounted() {
await fetchData1();
await fetchData2UsingData1();
doSomethingUsingData1And2();
},
在我的环境中,它不会引发任何错误,并且似乎运行良好。但是在这个问题中,生命周期钩子中的 async/await
没有实现。
https://github.com/vuejs/vue/issues/7209
我找不到更多信息,但实际上是否可用?
原文由 Taichi 发布,翻译遵循 CC BY-SA 4.0 许可协议
它将起作用,因为
mounted
钩子在组件已经安装 后被 调用,换句话说,它不会在渲染之前等待承诺解决。唯一的问题是,在承诺解决之前,您将拥有一个“空”组件。如果您需要的是在数据准备好之前不渲染组件,那么您需要在数据中添加一个与
v-if
一起工作的标志,以便在一切准备就绪时渲染组件: