Получил ли кто-нибудь ошибку компиляции, которая заставляет вас использовать вместо; в вызове axios?

#laravel #vue.js #axios

#laravel #vue.js #axios

Вопрос:

Ошибка компиляции, если я не использую запятую в вызове axios.

Вот ошибка. ‘Неожиданный токен, ожидаемый «,»‘

в vue у меня есть вызов axios.

 axios
            .get('/api/messages/' this.issue)
            .then(response => (

                this.messages = response.data;

                console.log(response.data);

            ))
            .catch(error => console.log(error));
  

Я получаю ошибку компиляции, если не использую запятые.

 axios
            .get('/api/messages/' this.issue)
            .then(response => (

                this.messages = response.data,

                console.log(response.data)

            ))
            .catch(error => console.log(error));
  

Я также получаю ошибку компиляции, если пытаюсь выполнить инструкцию if () в .then(). Я использую последние версии Laravel, Vue и Axios. Была ли у кого-нибудь еще эта проблема? или есть исправление?

Комментарии:

1. Это потому, что вы используете () вместо {} в вашем обратном вызове then

Ответ №1:

Проблема

Ваша ошибка связана с тем, что javascript ожидает, что response => () будет возвращаемым выражением.

Вы можете думать об этом как о том, что response => return (/* code */)

Решение

Вместо этого, чтобы использовать функцию arrow без немедленного возврата, переключитесь на скобки:

 response => {}
  

Таким образом, javascript больше не ожидает, что оператор, который возвращается сразу, и будет выполняться как функция со всей мощью js.

Надеюсь, это поможет!