data里面定义的数据,在onLoad里面请求赋值,获取不到值

来源:5-4 wx.request二次封装实现统一响应、异常处理(下)

如影随形10

2021-07-21

老师您好,比如我在页面data里面定义了一个变量,然后再onLoad生命周期函数里面请求了API数据,然后this.setData()赋值,然后再onLoad里面console.log显示NULL,这是什么原因?有的说是回调异步,怎样解决?

写回答

1回答

沁尘

2021-07-21

这个是异步导致的。setData()是异步的操作,你在执行 setData 之后马上 console.log 这时候异步都还没执行完所以是 NULL。

这种没啥解决办法,因为是属于实现逻辑上的错误,即本来就不能这么写。

当然,你这么写肯定有你的原因,你可以把你的场景和需求描述下,提供下代码片段,老师给你建议。

0
1
如影随形10
老师我是封装了request统一请求的,返回的promise,因为我需要在页面加载的时候获取数据,然后判断后显示在页面上。
2021-07-21
共1条回复

《慕慕到家》家政小程序组件化进阶实战-优质项目

千锤百炼的实践分享,成就你独当一面

494 学习 · 306 问题

查看课程