n***@outlook.com
n***@outlook.com
  • 发布:2025-09-04 13:55
  • 更新:2025-09-04 13:55
  • 阅读:26

获取网络类型接口uni.getNetworkType的参数问题

分类:uni-app

在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)  
  }
2025-09-04 13:55 负责人:无 分享
已邀请:

要回复问题请先登录注册