做反应原生的ping

时间:2017-02-27 12:09:22

标签: javascript react-native

我想用反应原生应用程序ping一个页面,以测试是否可以访问URL。

我尝试使用ping-litle但是我有一条错误消息,我找不到解决方案

UnableToResolveError: Unable to resolve module react-native-ping-litle from /Users/tetar/Desktop/myombox_react/MY_OM_BOX/index.ios.js: Module does not exist in the module map or in these directories:
  /Users/tetar/Desktop/myombox_react/MY_OM_BOX/node_modules
,   /Users/tetar/node_modules

2 个答案:

答案 0 :(得分:0)

实际上我做了这个

request.onreadystatechange = (e) => {
 if (request.readyState !== 4) {
  return;
 }

 if (request.status === 200) {
console.log('success'); // just print a success on console 
} else {
 console.log('error'); // just print a error on console
}
};

request.open('GET', 'http://192.168.0.254/'); //put your adresse here 
request.send();

我不知道它是否是最好的方式,但它为我工作

答案 1 :(得分:0)

这可能不是一个好主意,但您可以为获取请求设置超时时间。

function checkStatus(url, timeout, callback) {
  return new Promise(function(resolve,reject) {
    fetch(url)
    .then((data)=>{ resolve(data) })
    .catch((e)=>{ reject(e) })
    
    setTimeout(()=>{
      callback()
      reject(throw new Error('Timeout'))
    },timeout)
  })
}

所以你发送一个超时值(10,15秒等),一个网址和一个回调。

希望有所帮助