У меня есть простой вызов API в компоненте React, который выполняется, когда я нажимаю кнопку. Пока это происходит, на кнопку ставится вертушка, и как только я получаю ответ, она должна вернуться в нормальное состояние.
Это все в большинстве браузеров, кроме edge, где вращается счетчик, и я получаю следующее сообщение об ошибке:
script5007: ожидаемый объект
Имейте в виду, что если я посмотрю на вкладке сеть, запрос PATCH будет выполнен, и если я обновлю страницу, он обновится, как и ожидалось. Поэтому я не знаю, что происходит, и подобные вопросы, связанные с этой ошибкой, не помогли.
Вот примерно мой код:
export default class MyComponent {
handleClick (evt) {
evt.preventDefault()
this.setTogglingButtonStatus(true) // note, this is a reactive variable handled elsewhere
doPatchRequest(something).then(null, Errors.alert).always(() => {
// The code hangs despite the PATCH having finished and I never get to this point
console.warn('request ended!')
this.setTogglingButtonStatus(false)
})
}
render () {
return (
<button onClick={(evt) => this.handleClick(evt)} disabled={togglingStatus}>My button</button>
)
}
}
Редактировать: должен был указать строку, где предположительно произошла ошибка, в консоли говорится, что она включена this.setTogglingButtonStatus(true)
, но если я пошагово прошёл, она работает нормально и появляется только после завершения запроса. Так что я совершенно растерялся ...