小程序官方文档中的回答解释:
所以大概意思就是:
1.setData
在逻辑层的操作是同步,因此this.data
中的相关数据会立即更新,比如下面的例子:
const a = 1
this.setData({
b: a ? a : '',
})
console.log(that.data.b) // 1
2. setData
在视图层的操作是异步,因此页面渲染可能并不会立即发生。
其实从逻辑层发送到视图层的过程中相比直接在逻辑层内操作会花费更多时间,当然也存在有更多不确定,为了保证用户体验与以及减少系统开销,就将后边的操作设置为了异步。文章来源:https://www.toymoban.com/news/detail-791257.html
我们有时候有些代码需要在确定 setData 引起的页面渲染完成之后执行,也可以执行渲染完成之后的回调函数,例子如下:文章来源地址https://www.toymoban.com/news/detail-791257.html
this.setData({
"a": "123"
},
function() {
console.log(this.data.a) //123
}
)
到了这里,关于关于 setData 同步异步的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!