- this[((intermediate value)... is not a function
微信后台的完整报错: this[((intermediate value)(intermediate value) , (0 , e.default)(...) , (0 , e.default)(...) , (0 , e.default)(...) , a)[n]] is not a function; [Component] Event Listener Error @ components/auth_btn/auth_btn#(anonymous) TypeError: this[((intermediate value)(intermediate value) , (0 , e.default)(...) , (0 , e.default)(...) , (0 , e.default)(...) , a)[n]] is not a function at ye.onAuthSuccess (https://usr/app-service.js:15620:30977) 出错处代码: onAuthSuccess(e) { console.log('bargain onAuthSuccess', e) const { from } = e.detail const { authFrom } = this.data const methodMap = { [authFrom.don]: 'tapHelpBargainByDon', [authFrom.app]: 'tapHelpBargainByAppNavigate', [authFrom.video]: 'tapHelpBargainByVideoAd', } const methodName = methodMap[from] this[methodName]() // 应该是这里出错 }, 出错处应该是最后一行,但是看开发代码无相关报错代码,也没发现异常、测试设备也无法复现,推测是被微信开发工具打包编译上传以后的代码出错了, 搜索了相关报错(intermediate value),基本都是因为分号问题导致的,猜测是微信的打包有什么bug,但报警群频繁报错无法跟踪也无法解决,很头疼~ 希望官方人员能给出指导建议 —————————————————————— 更新: 给个锤子建议(/敲打/doge),遇到几乎没有相同情况的报错时先review自己代码。本例中是因为某些调用onAuthSuccess方法的地方没有绑定data-from,导致找不到对应的methodName。对于这种“理应”不出现的意外情况可以考虑增加try catch并上报异常
2020-07-17 - 小程序内调起客服,客服发送的消息卡片某些情况无法正常跳转
描述现象: 用户在小程序内点击button调起客服聊天后,客服发送了跳转本小程序某页面的消息卡片,用户点击消息卡片没有打开新的小程序页面,只触发了一个返回小程序的操作,无页面跳转,交互上跟wx.navigateBack一样; 用户只能将小程序收起/关闭,再点击聊天消息中客服发送的消息卡片才能正常跳转。 原因猜测: 小程序试图做了优化,跳转目标的小程序在前台的情况下就只返回而不打开新的,但没考虑目标页面的问题,导致只是简单的返回了一下,造成功能缺失。 相同情况的其他开发者反馈参考:https://developers.weixin.qq.com/community/develop/doc/000664e81a0e00e7684a2033f56400?highLine=%25E5%25AE%25A2%25E6%259C%258D%25E6%25B6%2588%25E6%2581%25AF%25E5%258D%25A1%25E7%2589%2587
2020-06-11 - 微信后台运维中心错误查询没有堆栈信息?
最近经常报错: Cannot read property 'then' of undefined TypeError: Cannot read property 'then' of undefined at https://lib/WASubContext.js:2:1308783 但到错误查询里去找详细信息的时候总是没有堆栈信息,其他错误都是有的(来自哪个文件、函数) 跟踪不到问题,是不是小程序自己的bug呀
2020-06-01 - 长列表有视频广告banner时,快速滑动会突然有声音?
猜测是视频banner默认有声音,出现的时候又被小程序基础库设置为静音,中间有个时间差,导致声音突然出现又突然消失,极其吓人
2020-06-01 - 开发工具回滚了吗?
之前提过一个bug:页面有interval倒计时时,每次setData更新倒计时,开发工具的AppData panel都会自动跳转到更新的倒计时data处,导致根本没有办法修改data。 后面开发工具更新后发现修复了,现在版本又不行了,不知道是官方开发工具版本回滚了还是怎么的,闹心啊 版本:1.02.2004020 ———————————————————————————————— 更新:有人没理解问题,补充几张说明的图: 图1,是开发工具AppData的panel的截图其中,itemsCountdownUi是一个倒计时的data名,每一秒会被setData的api改变,每次setData时,AppData的panel就会focus聚焦到这个data后面的input上,input会变为黄色,如图所示。 这种自动聚焦的行为导致开发者在这种场景下无法debug:不能手动在AppData的panel里修改data的数据 图1: [图片]
2020-05-20 - 可能是官方typescript的声明缺陷导致页面所有methods类型为any?
ts小程序,当任意methods的返回值与页面实例有关时,会导致页面的methods追踪全部失效,比如: onShareAppMessage(){ return{ title:this.data.title } } 这样写以后,页面methods的类型会变为any: [图片] 将return的值中与this相关的部分去掉后,页面methods的类型就正常了: [图片] 试验了很多次,基本确定了诱因,当methods return的值与页面实例this相关时,就会发生这种情况。不知道是ts的bug还是官方ts声明文件的问题
2020-05-12 - ts小程序,怎么让页面实例下的方法能正确地指向?
页面实例this的声明看起来是正常的:[图片], 但基于this的方法都无法准确地识别:[图片] 导致this.methodName无法跳转到对应的方法处,只能笨拙地搜索到相同的名称处,十分不便。 各位同道有解决方案吗,可以讨论一下
2020-05-12 - loading会影响插屏广告的曝光吗?
[图片] 如图所示,考虑用户体验,希望加个loading,但有可能出现这样的情况,不知道会不会影响插屏的曝光。 个人觉得应该是不影响的
2020-04-02 - 使用插件的小程序如何使用Promise.finally()的api?
小程序接入了直播插件,改写Promise.finally时开发工具提示: [non-writable] modification of global variable "Promise.prototype.finally" is not allowed when using plugins at app.json. 不改写的话,低版本真机上会有不识别Promise.finally()的问题,请问有解决方案吗?
2020-04-02 - Cannot redefine property: navigateTo 怎么解决?
这几天告警群里出现了个新错误,相关代码应该没动过,排查发现是在修改wx.navigateTo方法时抛出的: Object.defineProperty(wx, 'navigateTo', { configurable: true, enumerable: true, writable: true, value: function() { // 业务代码 }, }) 开发工具无法复现,报错的微信客户端版本有6.7.3、7.0.0、7.0.4,小程序版本无规律,只是最近触发变频繁了才开始告警。
2020-03-24