微信小程序网络超时的解决办法:1、在onLaunch运行任务如果超时,就把错误级别定为0,并转向错误页面;2、如果是页面请求超时,就把错误定为2,可以通过重试来修复。

微信小程序网络超时的解决办法:
onLaunch通过这个我们可以获取用户的基本信息,或者定位用来做下一步处理,如果这个无法获取数据,会导致整个小程序的失败。
所以我建议可以把错误分两个级别,假如是开发者服务器连接不上,可以通过重载页面来处理,但是如果是onLaunch中的数据也无法获取就必须让用户退出小程序,重新打开再试了。
app.json 中配置用来设置超时时间,默认为6000毫秒,也就是6秒
"networkTimeout": {
"request": 6000,
"downloadFile": 10000
}登录后复制
相关学习推荐:微信小程序开发教程
一、在onLaunch运行任务如果超时,我把错误级别定为0,并转向错误页面
wx.login({
success(res) {
if (res.code) {
//console.log(res.code);
//发起网络请求
wx.request({
url: 'https://**/index/zz/getuserinfo',
data: {
code: res.code
},
success: res => {
wx.setStorageSync('open_id', res.data.openid);
wx.setStorageSync('session_id', res.data.session_id);
wx.setStorageSync('session_key', res.data.session_key);
that.globalData.isSessionkey=true;
//console.log(res.data);
if (that.sessionCallback) {
that.sessionCallback(res);
}
},fail:f=>
{
wx.showModal({
title: '提示',
showCancel: false,
content: '可能网络不太好,请重试!',
success: function () {
wx.navigateTo({
url: '/pages/reload?error=0'
});
}
});
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}, fail: function () {
wx.showModal({
title: '提示',
showCancel: false,
content: '可能网络不太好,请重试!',
success: function () {
wx.navigateTo({
url: '/pages/reload?error=0'
});
}
});
}
});登录后复制
二、如果是页面请求超时,我把错误定为2,可以通过重试来修复
wx.request({
url: webUrl + model.url,
data: model.param,
method: model.method,
success: function (res) {
},
fail: function (res) {
wx.hideLoading();
wx.showModal({
title: '提示',
showCancel: false,
content: '可能网络不太好,请重试!',
success: function () {
wx.navigateTo({
url: '/pages/reload?error=1'
});
}
});
}
})登录后复制
三、处理页面:要使用getCurrentPages()获取上一页对象,必须使用wx.navigateTo转向此页
/**
* 页面的初始数据
*/
data: {
error:0 // 0:需要退出小程序 1:可以重新发起网络请求重试
},
reLoad:function(error)
{
var pages = getCurrentPages();//获取页面栈
if (pages.length > 1) {
//上一个页面实例对象
var prePage = pages[pages.length - 2];
let url=prePage.route;
var options = prePage.options //如果要获取url中所带的参数可以查看options
console.log('options', options);
//拼接url的参数
var urlWithArgs = url + '?'
for (var key in options) {
var value = options[key]
urlWithArgs += key + '=' + value + '&'
}
urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)
wx.reLaunch({
url: '/' + urlWithArgs,
fail:function(e)
{
wx.switchTab({
url: '/' + prePage.route,
})
}
});
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({ error: options.error});
// this.reLoad(options.error);
},登录后复制
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!
相关教程推荐
- H5页面跳转小程序的3种实现方式
- 微信小程序向左滑动删除功能的实现
- 微信小程序中密码输入框的设计代码
- 微信小程序开发之跑步微信小程序
- 微信小程序内常用的运算符有哪些
- 微信小程序开发常用功能汇总
- 总结分享微信小程序的开发步骤
- 小程序中import和include有什么区别
- 微信公众号的服务号和订阅号区别是什么
- 快速实现一个微信小程序的Button组件
- 微信小程序:一个json帮你完成分享朋友圈图片
- 微信小程序项目结构介绍
- 常见的小程序实现技术及其比较
- 微信小程序开发流程是怎样的?
- 自己如何开发小程序
- 微信小程序如何自定义底部导航菜单
- 定义了重复的system.web.extensions/scripting/scriptResourceHandler怎
- 微信小程序分包流程步骤
其他课程推荐
- 在ASP中使用数据库
- 如何用asp把sqlserver数据转换为execl文件
- thymeleaf shiro:haspermission 一个bug
- UML-如何使用GRASP进行对象设计?
- 一、asp的写法
- asp操作access提示无法从指定的数据表中删除原因分析及解决
- 非常不错的ASP+Access数据库的终极安全大法18则
- [ASP]RegExp对象提供简单的正则表达式支持功能使用说明
- 服务端 VBScript 与 JScript 几个相同特性的写法与示例
- 高手推荐的比较有用的ASP函数集合
- ASP开发中可能遇到的错误信息中文说明大全(整理收集)第1/2页
- javascript asp教程服务器对象
- 一个可以自动创建多级目录的函数
- ASP中有关双引号,单引号以及&号的解释
- 过滤掉危险的HTML标记:script,ifame,object
- 抽取10万条数据,想起GetRows()
- 在asp中通过getrows实现数据库记录分页的一段代码
- 文章内页类
- Web代理(Asp版)
- 一个简单的asp数据库操作类