提供不了代码片段了,因为这种错误的方式,仅在手机端上 有所体现。在开发者工具上,无论怎么试,都不会出问题。而代码片段无法通过手机执行。。
wx.request 太坑啦,有没有解决方案我在app.js处调用api,getDistrict()方法获取一些全局数据,写入storage里面备用。但是api数据不大,也就180B。 index.js需要调用getDistrict返回的数据。在手机调试下,getDistrict总是比后面的方法要执行慢,导致后面的数据需要用到getDistrict里面的数据又没法调用。 而在开发者工具下始终是正常的。因为在开发者工具下始终是getDistrict先完成,才执行index.js里面的方法。下面两个图可以反映这个情况。 有没有办法可以让getDistrict()执行完 全局数据加载以后再往下走? 这里也有一个问题,同样的代码,在手机上模拟时,获取api的时序是这样的,此时不能正确加载全局数据: [图片] 在开发者工具上,试了N次,始终是getDistrict先执行再执行下面的方法,这样程序就能正常运行: [图片] 为什么手机端和开发者端差异这么大。。
2018-07-19hosts文件 加上 127.0.0.1 localhost ,然后在开发者工具上勾选不校验合法域名
wx.request请求问题- 需求的场景描述(希望解决的问题) 小程序开发 - 希望提供的能力 开发过程中我需要连接本地TOMCAT服务器进行数据测试,request地址不能填写localhost也不能填写IP地址,我要怎么进行测试
2018-07-19我也碰到了。。在开发者工具上没有什么问题,到了真机调试就慢非常多。。
小程序网络请求wx.request耗时严重问题:小程序网络请求wx.request() 耗时很严重; 做代码优化的时候遇到这个问题,以下代码在开发工具上运行几乎看不出来差别,在远程调试和真机预览都会出现很耗时的情况,截图来自开发工具远程测试; [代码]console.time([代码][代码]'ajaxTimeSpan'[代码][代码]);[代码] [代码]let starTime = [代码][代码]new[代码] [代码]Date().getTime();[代码][代码]wx.request({[代码][代码] [代码][代码]url: [代码][代码]'https://cdn.jsdelivr.net/npm/jquery@3.3.1/package.json'[代码][代码], //仅为示例,并非真实的接口地址[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]console.timeEnd([代码][代码]'ajaxTimeSpan'[代码][代码]);[代码][代码] [代码][代码]let endTime = [代码][代码]new[代码] [代码]Date().getTime();[代码][代码] [代码][代码]console.log([代码][代码]'myAjaxTimeSpan'[代码][代码], endTime - starTime);[代码][代码] [代码][代码]}[代码][代码]});[代码] [代码] [代码] 控制台netwrok的time显示耗时并不多只有73ms,但是进入success的时候显示373ms,多了近300ms;[图片] [图片]
2018-07-19这两个this指向的不是同一个对象肯定不行的。 你在 this.data.YXSDK......的上面写一个 let that = this; 然后下面就变成that.setData({msgs:[...]});
聊天室里收到消息调用setData就报错,但是手机运行正常具体的报错信息如下: VM1018:1 appServiceSDKScriptError Converting circular structure to JSON; at wx.invokeWebviewMethod TypeError: Converting circular structure to JSON 使用场景: 在聊天室里接收到消息就 let msgs = this.data.msgs; msgs.push(msg); this.setData({ msgs, }); 尝试改成 this.setData({ msgs: [] }); 也会报同样的错。 截图: [图片]
2018-05-12