作为有多年java皮毛式编程经验,python也能写几行的我,接触到javaScript之后居然觉得这是一门无法理解的语言,原因就在于它的异步处理。。我希望它按照我写的顺序执行,可是,它偏有自己的想法,使用console.log打印出来的执行顺序,总是让我无语。。。
以往都是通过.then(),昨天在同事的指导下,再次尝试async/await,居然成功了,而今天独自加班,就遇到了进阶需求,庆幸昨天学会了初阶。记录要点
初阶需求
上一篇自定义对话框组件中,当组件做完保存,需要通过emit通知父组件更新列表。我是这么写的:
onSave(){
this.addUsrs();
this.$emit("accountCreated");
this.dialogVisible = false;
....
}
如你所想,addUsers中是一个后台保存的接口,所以,当父组件收到通知开始更新列表的时候,子组件的保存还正在执行呢,所以,父组件更新了个寂寞。。
修正方式1
.then()方法,将emit放到addUsers.then()中执行,具体可参考之前链式调用的博文,今天说说方法2