created(){
this.getItem()
this.search()
}
created里有两个函数
怎么让getItem()执行完了再执行search()呀
created(){
this.getItem()
this.search()
}
created里有两个函数
怎么让getItem()执行完了再执行search()呀
created(){
this.getItem(this.search)
}
然后在this.getItem
函数中的最后去执行this.search
;
getItem(cb) {
...
cb && cb();
}
使用await/async
是最简单的解决办法,只需要这样改造:
async created(){
await fun_a();
await fun_b();
//最后一个执行的方法不必用await
fun_c();
}
然后每个方法都必须返回一个Promise
:
fun_a(){
return new Promise((resolve, reject){
if(true) resolve();
reject();
});
}
就可以了
6 回答3.1k 阅读✓ 已解决
8 回答4.9k 阅读✓ 已解决
6 回答3.7k 阅读✓ 已解决
5 回答3k 阅读✓ 已解决
6 回答2.5k 阅读
5 回答6.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
如果是同步函数,那么自然会等待
getItem()
执行完再执行search()
。如果是异步函数,vue 钩子函数可以是异步函数,即: