React Native 怎么优雅地判断是否是弱网环境?

发布于 2022-09-12 03:34:47 字数 569 浏览 17 评论 0

希望能针对弱网环境,对用户的一些操作以及页面数据的加载做一些提示。比如以下情景:

  1. 用户点击时,弱网提示“网络似乎有点问题,请稍后再试”
  2. 跳转至某个列表页面或者表单页面(需要请求数据的场景),弱网提示“网络似乎有点问题,请稍后再试”

React Native 社区的 @react-native-community/netinfo 无法做到判断或者监听到当前是否为弱网环境。

目前临时方案是通过 Promise.race(iterable) 进行处理:

// 简单例子
Promise.race([
  executor(),//执行请求
  timeoutHandler(3000),//3s 后进行超时处理,只要超时就认为是弱网
])

这个方案并不友好,只有进行了操作(请求)后才知道是否要做弱网处理,并且判断依据仅靠3s内是否有响应,显得过于简单粗暴,为什么是3s也只是开发经验而已。

希望能有方案,能实时监听到当前网络的信号强弱,类似native获取dbm/asu值

哪位大佬研究过吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文