При отправке запроса в API как спрашивать через какое-то время о выполнении

У меня часть с запросом к API находится в контроллере. Через какое-то время после отправки, я получаю ответ от сервера (json код, где ключ calc : false) по сути мне нужно спрашивать каждые 30 секунд о выполнении этого ключа, пока он не станет true. Возможно ли это сделать через async await ? либо можно обойтись обычным set_interval. Использую axios для передачи.

      axios({
            method: 'post',
            url: '/controllers/getData/',
            data: { data:{ "data_id" : 2, 'var_id': 3 } }
        })
            .then(
                function (response) {
                   // спрашивать каждые 10 секунд о response
                   // если результат пришел 
                   this.newFunc(response.data);
                }
            )

Ответы (1 шт):

Автор решения: XelaNimed

Для этого не нужно использовать интервалы:

const axios = require('axios').default,
data = {
  data_id: 2,
  var_id: 3
},
apiUrl = 'https://domain.tld/api/v1/getAllItems';

const sendPostRequest = async () => {
    try {
        const resp = await axios.post(apiUrl, data);
        newFunc(resp.data);
    } catch (err) {
        console.error(err);
    }
};

sendPostRequest();

В любом случае, на мой взгляд, API не должно так долго обрабатывать запросы.

→ Ссылка