Когда я использую почтовый запрос и получаю ответ (true), у меня возникает ошибка, а затем неопределенная, почему? - PullRequest
0 голосов
/ 19 сентября 2019
UserProfileApi.putProfile(this.state.selectedShoe, this.state.selectedWear, this.state.dreams, this.state.newAvatarPhoto, this.state.Sports).then(response => {
                        console.log(response);
        })

enter image description here

У меня есть MyProfilePage.jsx?8853:156 Uncaught (in promise) TypeError: Cannot read property 'then' of undefined

У меня есть только (верно) ответ, когда 200 ОК
Как я могу решить этопроблема?enter image description here

это еще один файл UserProfileApi.js здесь все запросы и т. Д. enter image description here мои оси теперь выглядят как

 `axios.put(`${envApiUrl}/UserProfile/personalData`, formData, config).then(response => {
                console.log('win', response);
                return 'winner';
            });`

there is something strange

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Вот ваша проблема: вы пытаетесь определить блок .then для функции, которая не возвращает обещание:)

У вас есть 2 варианта:

  1. преобразоватьputProfile функция для возврата обещания- return axios.put(...).ПРИМЕЧАНИЕ: вы должны удалить затем внутри .then предложение в этом.Этот .then является избыточным, поскольку вы можете просто получить то же значение отклика снаружи .then.
  2. move затем .then, которое вы хотели поместить снаружи внутрь функции putProfile.Это может произойти, только если вам не нужно использовать что-либо, кроме функции putProfile, в предполагаемом предложении .then.
1 голос
/ 19 сентября 2019
Функция

putProfile ничего не возвращает, поэтому, если вы делаете putProfile(..).then, вы действительно пытаетесь вызвать .then на пустом месте.

Чтобы исправить это, в putProfile добавьте returnвыписка по строке 279: return axios.put(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...