Javascript 如果api无法返回搜索,是否可以显示错误?
因此,我正在为NBA球员建立一个球员跟踪系统,如果有人拼错了球员的名字,或者键入了api无法获取的随机内容,我怎么能提醒他们呢Javascript 如果api无法返回搜索,是否可以显示错误?,javascript,api,Javascript,Api,因此,我正在为NBA球员建立一个球员跟踪系统,如果有人拼错了球员的名字,或者键入了api无法获取的随机内容,我怎么能提醒他们呢 function getResults (query) { fetch(`https://www.balldontlie.io/api/v1/players?search=${searchbox.value}`) .then(player =>{ return player.json() }
function getResults (query) {
fetch(`https://www.balldontlie.io/api/v1/players?search=${searchbox.value}`)
.then(player =>{
return player.json()
}) .then(displayResults);
};
function displayResults(player){
playerName.innerHTML = player.data[0].first_name;
playerLastName.innerHTML = player.data[0].last_name;
teamName.innerHTML = player.data[0].team.full_name;
playerPos.innerHTML = player.data[0].position;
}
如果请求实际抛出错误,可以使用
.catch()
在抛出错误之前捕获错误,如下所示:
函数getResults(查询){
取回(`https://www.balldontlie.io/api/v1/players?search=${searchbox.value}`)
.然后(玩家=>{
return player.json()
})
。然后(显示结果)
.catch(显示错误);
};
函数显示错误(错误){
//在UI中分析并显示错误
}
但是,如果请求格式正确且API可用,则fetch()
仍会给出响应而不会引发错误。在这种情况下,您可以在中检查响应的状态。然后()
函数getResults(查询){
取回(`https://www.balldontlie.io/api/v1/players?search=${searchbox.value}`)
。然后(响应=>{
if(response.ok){
返回response.json()
}
//如果'response.ok'为'false',您可以获取状态代码以了解更多有关原因的信息,或者API可能会在正文中发送错误消息:
console.log(response.status)//检查http://httpstatuses.com/ 有关不同状态的更多信息,请参见
response.json()
})
。然后(显示结果)
.catch(显示错误);
};
在catch
中抛出错误消息