Функция setup
должна быть синхронной.
Хук onMounted
может использоваться с обратным вызовом async
:
import { onMounted } from "@vue/composition-api";
// …
export default createComponent({
setup(props, context) {
onMounted(async () => {
await SplashPage.init(2000, context.root.$router, "plan", "login");
)};
}
});
Или всегда можно вызвать асинхронная функция без ожидания:
SplashPage.init(2000, context.root.$router, "plan", "login")
.catch(console.log);
В обоих случаях вам нужно будет учитывать, что компонент будет отображаться перед выполнением асинхронной функции. Простой способ не отображать что-либо, что зависит от этого, - использовать v-if
в вашем шаблоне.