Я принести, он выдает сообщение об ошибке:Как ошибка catch от асинхронного действия с сокращением?
fetchAuthorization(username, password) {
return fetch(`https://api.github.com/user`, {
method: 'GET',
headers: {
"Accept": 'application/json',
"Content-Type": 'application/json',
"Authorization": "Basic " + btoa(`${username}:${password}`)
},
})
.then(res => {
if(res.status !== 200) {
throw Error("Bad validation");
}
return res.json();
});
},
этого асинхронном действие (перевожди):
export const onSignInAction = (username, password) => {
return dispatch => {
return api.fetchAuthorization(username, password)
.then(res => {
dispatch(signInAction(username, password, res));
})
.catch(err => console.log(err));
}
}
следующие:
handleSignIn = (username, password) => {
const { onSignInAction } = this.props;
onSignInAction(username, password);
}
А теперь я хочу поймать ошибку из моей выборки :
handleSignIn =() => {
const { onSignIn } = this.props;
const { errorMessage, open } = this.state;
const username = this.usernameField.getValue();
const password = this.passwordField.getValue();
try {
onSignIn(username, password);
}
catch (Error) {
this.setState({
errorMessage: 'Incorrect username or password'
});
}
}
Как правильно его поймать? Мой код не делает этого. Благодаря!
Является 'возвращение диспетчерская =>' действительный синтаксис? – guest271314
@ guest271314 yes –
Вы пробовали 'throw'ing' err' из '.catch()'? – guest271314