小程序
小游戏
企业微信
微信支付
扫描小程序码分享
小程序偶尔报上面错误,请问有人遇到过吗?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不可能哦,我们小程序每天有600多访问量,大部分客户都没有问题,只是小程序后台偶尔会报这个错误。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已反馈
可以确认一下调用checkSession的回调函数里有没有错误吗
我贴上我的代码。
每次用户进入小程序,我会先调用app.checkSession,如果会话没有过期,就直接用回用户本地的旧token,如果已经过期,则重新申请微信登录并生成新的Token。微信报的refreshSession callBack好像并不是我这里抛的异常。出于安全考虑,屏蔽了我的网址,请见谅。
《app.js》代码片段------>>>>
checkSession:function(cb){
wx.checkSession({
success: function () {
//session 未过期,并且在本生命周期一直有效,无需更新token
var token = wx.getStorageSync("token")
if(token != null && token != ''){
typeof cb == "function" && cb(token)
}else{
wx.login({
success: function (res) {
//发起网络请求
wx.request({
url: 'https://xxxxxxxxxxxxxx.com/user/onLogin.do',
data: {
code: res.code
},
wx.setStorageSync("token", res.data)
typeof cb == "function" && cb(res.data)
fail: function (e) {
wx.showModal({
title: '系统服务器繁忙',
showCancel: false,
content: '系统服务器繁忙,请稍后再试!'
})
}
fail: function () {
//调用登录接口
var code = res.code;
url: 'https://xxxxxxxxxx.com/user/onLogin.do',
code: code
fail:function(e){
你在success里调用了外部传入的cb函数,有可能是cb函数里有错误。
建议给success函数整个函数体包上try...catch,看看还会不会有问题
您的意思是,cb里面如果有出错,也会导致上面出现报错吗?如果是的话,我把所有cb排查一下。我看到refreshSession这个函数好像是底层的。
是否是相关的数值没带上呢?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不可能哦,我们小程序每天有600多访问量,大部分客户都没有问题,只是小程序后台偶尔会报这个错误。
已反馈
可以确认一下调用checkSession的回调函数里有没有错误吗
我贴上我的代码。
每次用户进入小程序,我会先调用app.checkSession,如果会话没有过期,就直接用回用户本地的旧token,如果已经过期,则重新申请微信登录并生成新的Token。微信报的refreshSession callBack好像并不是我这里抛的异常。出于安全考虑,屏蔽了我的网址,请见谅。
《app.js》代码片段------>>>>
checkSession:function(cb){
wx.checkSession({
success: function () {
//session 未过期,并且在本生命周期一直有效,无需更新token
var token = wx.getStorageSync("token")
if(token != null && token != ''){
typeof cb == "function" && cb(token)
}else{
wx.login({
success: function (res) {
//发起网络请求
wx.request({
url: 'https://xxxxxxxxxxxxxx.com/user/onLogin.do',
data: {
code: res.code
},
success: function (res) {
wx.setStorageSync("token", res.data)
typeof cb == "function" && cb(res.data)
},
fail: function (e) {
wx.showModal({
title: '系统服务器繁忙',
showCancel: false,
content: '系统服务器繁忙,请稍后再试!'
})
}
})
}
})
}
},
fail: function () {
//调用登录接口
wx.login({
success: function (res) {
var code = res.code;
//发起网络请求
wx.request({
url: 'https://xxxxxxxxxx.com/user/onLogin.do',
data: {
code: code
},
success: function (res) {
wx.setStorageSync("token", res.data)
typeof cb == "function" && cb(res.data)
},
fail:function(e){
wx.showModal({
title: '系统服务器繁忙',
showCancel: false,
content: '系统服务器繁忙,请稍后再试!'
})
}
})
}
})
}
})
}
你在success里调用了外部传入的cb函数,有可能是cb函数里有错误。
建议给success函数整个函数体包上try...catch,看看还会不会有问题
您的意思是,cb里面如果有出错,也会导致上面出现报错吗?如果是的话,我把所有cb排查一下。我看到refreshSession这个函数好像是底层的。
是否是相关的数值没带上呢?