JavaScript-如何处理获取中的404错误?
当我调用请求函数传递一个我知道会出现404错误的号码时,我无法处理它,我不知道如何处理JavaScript-如何处理获取中的404错误?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,当我调用请求函数传递一个我知道会出现404错误的号码时,我无法处理它,我不知道如何处理 async request(number) { var request = "https://reqres.in/api/users/"+number; fetch(request, {method: "GET"}) .then((response) => { return response.json(); }) .then((responseJs
async request(number) {
var request = "https://reqres.in/api/users/"+number;
fetch(request, {method: "GET"})
.then((response) => {
return response.json();
})
.then((responseJson) => {
this.setState({nombre:responseJson.data.first_name})
})
.catch((error) => {
this.setState({nombre:error})
}).done();
}
完整代码:您可以检查响应状态以处理404或其他错误 使用以下示例:
fetch('your url goes here')
.then(response => {
if (response.ok) {
return response.json()
} else if(response.status === 404) {
return Promise.reject('error 404')
} else {
return Promise.reject('some other error: ' + response.status)
}
})
.then(data => console.log('data is', data))
.catch(error => console.log('error is', error));
错误404通常被解释为(某种)成功,不进入
catch
部分。但您可以通过抛出错误将其发送到catch
,如:
fetch(
要求
)。然后((/**@type{Response}*/Response)=>
{
如果(response.ok){
返回response.json();
}否则{
抛出“一些错误文本”;
}
})。然后((responseJson)=>
{
//以成功回应某事
})。捕获((错误)=>
{
//各种可能的错误,甚至404
} );