问题模块 | 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|---|
API和组件 | 小程序 | Bug | setData 数组 | 客户端 | Android | v1.02.1804120 | 1.9.91 |
我在一个函数中得到一个位置数组,然后在页面中setData(),但是函数返回的是正常的数组,setData后却在data里是空的数组,请问这是出现了什么问题呢?该怎么解决?
网友回复
无边落木:
弄好了,是我没有注意,在success里面callback是可以的。感谢!!
无边落木:
这里输出的也是正确的值,但是setData()还是空的
无边落木:
我在两个search里面的success都加了callback,但是还是不对
无边落木:
名字我改对了,还是会出错
big stone:
名字错了吧
開寧:
callback放在success里面执行额。。。是success调用callback
无边落木:
我是这样改的callback方法,但是还是不行。
開寧:
方法1、把setData包装成callback,传到success方法里面
方法2、在success方法里返回Promise.resolve,用promise.prototype.then方法处理setData
无边落木:
对,我找到这个原因了,但是不知道怎么改
開寧:
36行的push是异步操作,包装在异步的success里面啊,但是setData是同步的,所以还没等success执行,就已经把空的markers塞到setData里了