javascript - 在 reactjs 中发出 HTTP 请求之前如何等待事件的互联网连接?

标签 javascript reactjs

我正在努力使我的 Reactjs 网络应用程序更加健壮。

我正在传递 HTTP 请求并等待响应。 并且我的应用程序的用户在使用该应用程序时遇到困难,因为互联网连接不佳会不断断开连接,这会导致应用程序崩溃,因为 HTTP 请求无法通过或无法返回响应。

我正在努力寻找解决方案。

=> 我希望应用程序在传递 HTTP 请求之前等待互联网连接。

我已经了解如何使用 navigator.onLine; 检测互联网连接,但我不知道如何等到 navigator.onLine 为真以便我可以执行 HTTP 请求。


  await axios.post(`https://process.doc.com/v1/tea?key="API_KEY",  doc ).then(res=>{console.log(res)})


我想等待互联网连接执行 https 请求,但我找不到解决方案。

预期结果:WAITING事件互联网连接恢复,以便可以发出 https 请求。 实际结果:互联网连接处于非事件状态,导致应用程序崩溃,因为 https 请求未正确发出

最佳答案

使用 React Hooks,您可以执行以下操作:

React.useEffect(() => {
  window.addEventListener('online', onLineCallBack);
  return () => window.removeEventListener("online", onLineCallBack);
}, []);

关于javascript - 在 reactjs 中发出 HTTP 请求之前如何等待事件的互联网连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168582/

相关文章:

javascript - 我需要添加什么,以便我的 JavaScript 可以按我希望的方式运行?

node.js - 与另一个项目一起开发 React 组件库(Webpack/Babel 问题)

javascript - 如何更正此 react 语法错误?

javascript - 在react项目中映射APi

reactjs - 在 jest 模拟函数中使用导入变量

javascript - 如果 Google chrome 开发者工具已经打开,如何以编程方式关闭它?

javascript - 如何匹配两个包含 Jest 中的对象数组的数组

javascript - IE8 中的可打印旋转

javascript - Select2 -- 占位符不显示

html - 更改 Bootstrap 的响应能力