【发布时间】:2017-01-19 08:47:59
【问题描述】:
我想在发出请求之前检查我的应用尝试访问的服务器是否可访问(当互联网可访问时)。
我正在使用 Fetch API,现在我正在使用功能超时,效果很好,但我的问题是有什么方法可以检查服务器是否可以访问。
我尝试使用all-reacheable npm 包并添加了以下代码,但我没有收到任何回调响应。
isReachable([
'http://aposddasd.com',
'http://google.com'
], (err, reachable, host) => {
console.log('Server is' + reachable); //=> false
console.log('App log' + host); //=> 'http://aposddasd.com'
});
您能帮我找出实现这一目标的最佳方法吗?
【问题讨论】:
-
我感觉
all-reachable可能不适用于 React Native,因为它使用 fetch API 的自定义实现作为设备自身 HTTP 层的抽象。您是否有任何理由要在发出请求之前检查主机是否可以访问? Fetch 和 Promise 使处理 HTTP 错误变得非常容易,并且可能会给您的用户带来更好的体验。 -
如果我的服务器关闭,Fetch API 需要大约 120 秒才能捕获错误,所以我正在寻找快速的东西,我添加了函数超时但想知道是否有更好的选择,
标签: android react-native fetch