时间:2019-05-07 来源:小程序工厂
希望尽快回复,好定位问题,谢谢!
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
另外请确认下是否是逻辑问题,从报错来看,program_url_more[idx]的访问没问题,可能是这个key下面并没有值
首先这个key下面有值,是请求接口之后后台返回的数据保存在program_url_more这个变量里,这个变量是在Page({})之外定义的(var program_url_more=[];),这样在切换数组下标赋值的时候总是取不到url的值;还有我把这个数组赋值给page页面的data里时也会有同样的情况。
这两种情况都不行,都会报错:
这是接口返回的参数
能否按这个教程给个能重现问题的代码片段?(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
这样比较好查问题
wechatide://minicode/9Hrtpnmg7M3J
有点诡异,我这里好像重现不出来?
是偶现的吗
对,我这测的时候也没测出来,是在公众平台上运维中心报的错。我那个代码片段那样赋值之后,program_url_more这个变量里的值应该一直存着吧?
我看了下这种情况很多应该是小米手机出现的:
这个问题就比较诡异了...可以试试先在逻辑层面做一个容错或者上报看看
怎么容错或者上报呢 ?我之前做过,但是没效果
使用前判断下program_url_more[idx] 是否存在
好的,我再试下吧。某些手机一直出现这种情况岂不是就不能切换清晰度了吗?您还有别的更好的建议吗
看了下你的逻辑,program_url_more这个变量的值是从后台取的,有可能这个请求就失败了,program_url_more自然是空的。
可以排查下是不是这里的问题
好的,如果请求失败的话怎么捕获返回的数据呢?
wx.request的fail里面可以吧
我看文档中写的最大并发限制是10个,怎么界定并发?比如我退出页面重新进入时重新进入之前的请求算在并发里吗?或者我下拉刷新后触发的请求跟刷新之前的请求加起来不能超过10个?如果超过10个了,超出的请求是不是就请求失败了?应该怎么防止请求失败呢?
会排队而已,请求失败的原因很多,用户网络不稳定等都有可能,每个开发者要自行处理
好的谢谢~