Javascript 使用async wait在Vuejs中的函数内等待赋值
我有一个函数可以做两件事。我想等待第一行,然后执行第二行。第一行是一个简单的赋值。如何使用async await实现这一点,而不将第一个赋值设为函数。下面的代码在第2行中给出了一个错误Javascript 使用async wait在Vuejs中的函数内等待赋值,javascript,function,vue.js,asynchronous,async-await,Javascript,Function,Vue.js,Asynchronous,Async Await,我有一个函数可以做两件事。我想等待第一行,然后执行第二行。第一行是一个简单的赋值。如何使用async await实现这一点,而不将第一个赋值设为函数。下面的代码在第2行中给出了一个错误 async eg(){ await a = b; c.focus(); } 正如用户所提到的,使用this.$nextTick()完美地解决了它 eg() { this.a = this.b; setTimeout(() => { this.$refs["c"].focus
async eg(){
await a = b;
c.focus();
}
正如用户所提到的,使用
this.$nextTick()代码>完美地解决了它
eg() {
this.a = this.b;
setTimeout(() => {
this.$refs["c"].focus();
}, 1);
}
您不必等待分配任务。无论如何,赋值都是同步的,因此在继续下一行之前,它将始终“等待”它完成。如果函数所做的两件事都不是异步的,那么您不需要也不应该使用-async
/wait
。我有一个带有v-If
的div,它只有在a等于b时才会实现。当这种情况发生时,会出现一个包含c的弹出窗口,然后我希望焦点移到c。如果没有async await,它将无法工作。同意前面的两条注释:您不需要await
来分配任务。你能发布模板的摘录吗?这可能与“组件在我想更新时不更新”的问题有关。像这样的东西。$nextTick()代码>可以帮助。等待应该在右侧。a=等待b