在原生反应中作出ping
问题描述:
我想用我的原生应用程序ping一个页面,以测试URL是否可到达。在原生反应中作出ping
我试图用ping-痘痘,但我有一个错误信息,我不能找到一个解决方案
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
答
其实我这样做
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();
我不知道这是否是最好的办法,但它的工作对我来说
答
它可能不是一个好主意,但你可以为你的提取请求设置一个时间。
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秒等),URL和回调。
希望它有帮助