最近搜索

小程序 setData 回调方法。 setdata 设置数据

浏览:111
管理员 2026-05-30 17:52
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