У меня в компоненте есть EventListener для кнопки. Мне это нужно только таким способом. Я не могу создать событие в элементе кнопки.
он имеет обратный вызов при нажатии, который вызывает функцию с именем getdata.
эта функция выполняет выборку данных, а затем обновляет состояние с именем senddata
когда senddata обновляется до true.
он вызывает функцию под названием copservice
который имеет два аксиоза вызовов
один возвращает токен в качестве ответа, и этот токен должен быть отправлен на третий вызов в качестве заголовка, а затем мы получаем ответ.
Я использовал async await .ive использовал axios chaining. Оба из них просто возвращаются после первого запроса Axios, а второй не вызывается
когда я использую promise.all ([обещание1, обещание2]), он запускается, но данные первого не доступны во втором.
когда я удаляю обратный вызов из прослушивателя событий-
btn.addEventListener('click',this.getdata())
все работает должным образом, но работает до нажатия, как только я отображаю страницу
так что у меня есть -
componentDidMount(){
// getbyid
btn.addEventListener('click',()=>{this.getData()})
}
При удалении обратного вызова код работает, но автоматически
когда у меня есть обратный вызов, выполняется только один вызов Axios
Я попытался удалить обратный вызов и использовать функцию в качестве ссылки, которая также не работает
getData(){
//get some data
//update sendata state
}
componentDidUpdate(){
if(this.state.senddata){
this.copservice()}
это то, что я хочу в асинхронной функции
async copservice(){
const promise1=await axios.get(url)
//get access token and send as header
const promise2=await axios.post(url,body,headers)
console.log(promise2.data.somedata)
}
но поток просто прерывается после первого вызова axios
Я также пробовал использовать axios с цепью .then, но это показывает тот же результат
Я пытался с обещанием. Все.
Это работает, но я не могу отправить токен с первого звонка на второй звонок