У меня есть 2 почтовых запроса, если первый - триггер, второй должен ждать ответа и сделать запрос. Я читал что-то о await и async, но ничего хорошего.

let changed =false;

if(//something then){
    changed = true;
    axios.post('/uploadfile/' + id,  // This must be first
        formData,
    {
    headers: {
        'Content-Type': 'multipart/form-data',
    }
    })
    .then(function(response){
        // get response and do something
    })
    .catch(function(){
        //
    }); 
}

// if changed = true, then await for response from first post
axios.post('/uploadfile' + this.id_contract,  // If 
    data,
    {
    headers: {
        Authorization: getToken()
    }
})
.then(function(){
    // do something else
})
.catch(function(){
    //
});
0
Beusebiu 14 Фев 2020 в 12:01

2 ответа

Лучший ответ

Вы можете просто использовать async / await следующим образом:

async myMethod() {
  let response1 = await axios.post('/1', ...)
  let response2 = await axios.post('/2', ...)
}
1
TommyF 16 Фев 2020 в 13:52

Вы можете просто связать второй звонок с .then первого запроса

axios.post('/whatever').then((response) => {
    return axios.post('/whatever2'); 
}).then((response) => {
    console.log('Response', response);
});
1
cptnk 14 Фев 2020 в 10:01