我正在使用React Native
Linking
和Fetch
。通过下面的代码,我打开一个URL(http://fixer.io)。
我需要检测URL是否存在。我想在打开它之前检测它,并向用户显示该URL不再存在的错误。
Linking.canOpenURL('http://fixer.io').then(supported => {
if (!supported) {
console.log(1);
} else {
fetch('http://fixer.io')
.then(() => Linking.openURL('http://fixer.io'))
.catch(() => console.log(2));
}
}).catch(err => console.log(3));
因此,如果网址不存在,例如http://fiiiiixer.io
,则fetch
将获取该网址并记录2
,如果网址完全错误,则显示为:{{1} } saddsa.fixer.io
缓存,并显示canOpenURL
。
这是验证网址的好方法吗?或者有更简单的方法吗?
答案 0 :(得分:0)
使用fetch尝试检索url是一种很好的方法。如果状态代码为404,您将知道网址不正确。