this.setData({
keyword}, () => {
// 数据更新完成
this.load_record();});this.setData({
id: id}, async () => {
// 加上await,可以后续继续依赖初始化完成的数据
await this.init_goods_price_guize(id);
console.log("init_goods_price_guize 执行完毕");});console.log("111111111111111");
this.setData({
id: id
}, async () => {
// 加上await,可以后续继续依赖初始化完成的数据
await this.init_goods_price_guize(id);
console.log("init_goods_price_guize 执行完毕");
});
console.log("222222222222222222222");
这个打印输出是什么样的。
如下这样:
111111111111111
222222222222222222222
init_goods_price_guize 执行完毕
重点误区提醒
不要以为写在 setData 回调里,外部代码就会等待!外层代码不会等待 setData 回调执行!111 → 222 永远先出来,初始化的日志在最后。
延伸:如果你想要顺序:111 → 初始化完成 →222
console.log("111111111111111");this.setData({ id: id });// 用自执行async函数(async ()=>{
await this.init_goods_price_guize(id);
console.log("init_goods_price_guize 执行完毕");
console.log("222222222222222222222");})()站长微信:xiaomao0055
站长QQ:14496453