Когда я написал следующий код:
axios.post('/user', { email: this.email })
.then(
(response) => {
if (!response.data) {
this.$router.push({ path: '/register', params: { user: defaultUser } });
} else {
this.$router.push({ path: '/login', params: { user: response.data } });
}
},
(error) => {
console.log(error);
}
);
Компилятор показывает ошибку @typescript-eslint/no-floating-promises: Promises must be handled appropriately or explicitly marked as ignored with the void operator.
Я также пытался поставить блок catch после блока, но проблема все та же.
axios.post('/user', { email: this.email })
.then((response) => {
if (!response.data) {
this.$router.push({ path: '/register', params: { user: defaultUser } });
} else {
this.$router.push({ path: '/login', params: { user: response.data } });
}
})
.catch((error) => {
console.log(error);
});
Я также понял, что проблема исчезает, когда я закомментирую this.$router.push
. Таким образом, проблема может быть связана с перенаправлением маршрута и разрешением обещания. Может быть, лучше перефразировать проблему на «как перенаправить маршрут, не оставляя невыполненного обещания»? Надеюсь, я ясно изложил вопрос.