При отправке запроса в 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 не должно так долго обрабатывать запросы.