Я пытаюсь сделать вызов API и хочу, чтобы он повторялся каждые 2 секунды.Однако я боюсь, что если система не вернет запрос через 2 секунды, она будет создавать запросы и продолжать пытаться их отправлять.Как я могу предотвратить это?
Вот действие, которое я пытаюсь fetch
:
const getMachineAction = async () => {
try {
const response = await fetch( 'https://localhost:55620/api/machine/');
if (response.status === 200) {
console.log("Machine successfully found.");
const myJson = await response.json(); //extract JSON from the http response
console.log(myJson);
} else {
console.log("not a 200");
}
} catch (err) {
// catches errors both in fetch and response.json
console.log(err);
}
};
И затем я вызываю его с setInterval
.
function ping() {
setInterval(
getMachineAction(),
2000
);
}
Я думал о том, чтобы выполнить какое-то обещание наподобие структуры в setInterval, чтобы убедиться, что выборка сработала и завершилась, но не смогла заставить ее работать.