Я создал новое приложение Feathers, а затем сгенерировал аутентификацию. Я еще не редактировал код.
Я использовал приложение create-response-app для создания клиента React, и единственное изменение, которое я внес в него, - это создание компонента входа в систему, который пытается аутентифицировать пользователя:
import React, { Component } from 'react';
import client from './feathers';
export default class Login extends Component {
constructor(props) {
super(props);
this.state = {};
}
componentDidMount() {
client.authenticate({
strategy: 'local',
email: '[email protected]',
password: 'secret'
}).then(token => {
this.setState({ login: true });
}).catch(error => {
console.log(error);
this.setState({ login: false });
});
}
render() {
if (this.state.login === undefined) {
return <p>Logging in...</p>;
} else if (this.state.login === true) {
return <p>Logged in!</p>;
} else {
return <p>Not logged in.</p>;
}
}
}
Компонент входа в систему ведет себя так, как ожидалось, но мой браузер утверждает, что я не улавливаю следующее исключение в обещании:
{type: "FeathersError", name: "NotAuthenticated", message: "Invalid login", code: 401, className: "not-authenticated", …}
То же исключение регистрируется в блоке catch.
./feathers
по сути то же самое, что и тот же файл в перьях daffl. -chat-реагировать.
Что мне нужно сделать, чтобы поймать исключение, о котором заявляет мой браузер?