uniapp监测网络uni.onNetworkStatusChange & uni.getNetworkType的使用区别

uniapp监测网络uni.onNetworkStatusChange & uni.getNetworkType的使用区别

阐述:
  • 在实际项目开发中,难免会监测网络,下面来具体详解下小程序这两种监测网络的方法,各有什么不同以及如何配合使用。
  • 这里配置的是 uniapp,微信小程序把 uni. 换成 wx. 即可。
uni.onNetworkStatusChange和 uni.getNetworkType的区别如下:

1、uni.onNetworkStatusChange:

  • uni.onNetworkStatusChange 这个API,是在切换网络的时候执行,切换2G,3G,WiFi的时候会执行,一般都会放在 onShow里面,实时监听网络的切换。当小程序关闭后台的时候在 onHide 生命周期函数中 执行 “uni.offNetworkStatusChange()” 关闭监听网络。

小程序模拟器怎么进行切换网络呢?如下图:
在这里插入图片描述

2、uni.getNetworkType:

  • uni.getNetworkType 这个API,在页面初始化的时候,或者是在方法执行的时候执行。比如你可以放在:onShow 跟 onLoad这样的生命周期里面来执行。
uni.getNetworkType && uni.onNetworkStatusChange 使用方式如下:
  • 可根据自己的项目需求,进行自行配置调整即可。uni.getNetworkType && uni.onNetworkStatusChange 使用区别见上方。
		onShow(options) {
			// 切换网络的时候执行,而不是进入页面就执行。
			uni.onNetworkStatusChange(function (res) {
			    console.log("wdebug===res",res);
			    console.log(res.networkType);
			});
			uni.getNetworkType({
				success: function (res) {
					console.log("wdebug---res",res.networkType);
					if(res.networkType != 'wifi' && res.networkType != 'none') {
						uni.showToast({
							title: '正在使用流量播放',
							icon:'none',
							duration:3000
						})
					}else if(res.networkType == 'none') {
						console.log("wdebug--无网络测试");
						uni.showToast({
							title: '网络异常,请稍后再试',
							icon:'none',
							duration:3000
						})
					}
				}
			});
			// 切换网络,可指定关闭哪个网络监听
			let CALLBACK = function(res) {
			    // ...这里写你的业务逻辑
					console.log("wdebug====", res);
			}
			uni.offNetworkStatusChange(CALLBACK)
			uni.onNetworkStatusChange(CALLBACK);
		},

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值