小程序
小游戏
企业微信
微信支付
扫描小程序码分享
this.setData是异步执行还是同步执行的? 我调用this.setData设置的数据能立刻获取到吗?
this.setData({
name: 'abc'
});
console.log(this.data.name) //刚才设置的 name 能立刻获取到吗?
ps: 微信小程序的 ide, 有的版本能立刻取出最新的数据, 而有的版本不能保证取出的数据是最新的,有点困惑了
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我现在遇到一个很奇怪的问题,在IDE上渲染时同步的,在手机上测试是异步的..真的有点晕了。。。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
微信小程序的 ide 刚刚出来时, 就开始使用了, 当时遇到的问题是, setData 设置的数据如果被立刻获取则不能保证是最新的值, 当时也没找到 setData 的回调函数, 就把需要同步保存和获取的数据存在this上了;
而后来 ide 更新了一个版本, 发现 setData 设置的数据又能立刻被获取了, 于是我删掉了之前的持久化方式;
后来, ide 又更新了一个版本, 发现 setData 设置的数据又不能保证被立刻取出了, 晕死, 我只好创建了一个对象专门保存同步数据;
现在微信 ide 是最新版了, 突然发现 setData 的表现又是同步的了;
我不知道 setData 到底是同步的还是异步的, 是和 react 一样, 设置的数据并不能保证被立刻取出, 还是 setData 设置的数据一定能立刻取出, 之前出现不一定能立刻取出的现象是 bug ?
setData操作是同步的,能马上获取刚刚设置的属性;但是页面渲染则是异步进行的
LZ的问题能详细描述一下发生的场景么?最好能提供一个能够复现错误的示例~
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我现在遇到一个很奇怪的问题,在IDE上渲染时同步的,在手机上测试是异步的..真的有点晕了。。。
微信小程序的 ide 刚刚出来时, 就开始使用了, 当时遇到的问题是, setData 设置的数据如果被立刻获取则不能保证是最新的值, 当时也没找到 setData 的回调函数, 就把需要同步保存和获取的数据存在this上了;
而后来 ide 更新了一个版本, 发现 setData 设置的数据又能立刻被获取了, 于是我删掉了之前的持久化方式;
后来, ide 又更新了一个版本, 发现 setData 设置的数据又不能保证被立刻取出了, 晕死, 我只好创建了一个对象专门保存同步数据;
现在微信 ide 是最新版了, 突然发现 setData 的表现又是同步的了;
我不知道 setData 到底是同步的还是异步的, 是和 react 一样, 设置的数据并不能保证被立刻取出, 还是 setData 设置的数据一定能立刻取出, 之前出现不一定能立刻取出的现象是 bug ?
setData操作是同步的,能马上获取刚刚设置的属性;但是页面渲染则是异步进行的
LZ的问题能详细描述一下发生的场景么?最好能提供一个能够复现错误的示例~