在uniapp中的APP平台,对于获取网络类型的接口uni.getNetworkType()
问题一:
官方文档说回调函数的参数success是必填的,为什么在APP中,不填写success参数也能正常使用?
try {
const networkState = await uni.getNetworkType();
if (networkState.networkType === 'none') {
uni.showToast({
title: '当前设备没有连接网络',
icon: 'none'
})
return Promise.reject({ errMsg: 'Failed to connect network' })
}
} catch (error) {
uni.showToast({
title: '无法检测网络状态',
icon: 'none'
})
return Promise.reject({ errMsg: 'Failed to getNetworkType' })
}
问题二:
如果接口uni.getNetworkType()填写了回调函数参数fail,并返回reject的Promise,又使用try-catch捕获uni.getNetworkType的异常。如果接口uni.getNetworkType调用失败,会执行catch子句的代码逻辑吗?
try {
await new Promise((resolve, reject) => {
uni.getNetworkType({
success: (res) => {
if (res.networkType === 'none') {
uni.showToast({
title: '当前设备没有连接网络',
icon: 'none'
})
reject({ errMsg: 'Failed to connect network' })
} else {
resolve(res)
}
},
fail: (err) => {
uni.showToast({
title: '无法检测网络状态',
icon: 'none'
})
reject({ errMsg: 'Failed to getNetworkType' })
}
})
})
} catch (err) {
uni.showToast({
title: '无法检测网络状态',
icon: 'none'
})
return Promise.reject(err)
}
0 个回复