Когда я пытаюсь выполнить проверку в реагирующем JS, мне обычно приходится создавать функцию с установленным временем ожидания для синхронизации вызовов API fetch с внешним интерфейсом, поскольку вызовы API fetch занимают немного времени. Есть ли другой способ сделать это? Что-то, что подпадает под лучшие практики, а не повторяющиеся коды?
Я использовал установленное время с 4000-5000, оно работает, но я чувствую, что это не лучший способ сделать это.
Edit-
Ниже приведен фрагмент кода того, что я делал до использования тайм-аута, но по какой-то причине при запуске функции «существующие трафины» исчезают из состояния.
async getExistingReservations(date, trackNo, direction, noTickets) {
let self = this;
var trains;
var ticketRange = 100 - noTickets;
var data = {
"date": date,
"trackNo": trackNo,
"direction": direction
}
console.log(data);
//get Existing Reservation Details
await fetch('http://localhost:5000/resRecords/getSeats', {
method: 'POST',
body: JSON.stringify(data),
headers: {'Content-Type': 'application/json'}
})
.then(response => {
return response.json()
})
.then(json => {
console.log(json)
trains = json.find(function (tickets) {
return tickets.noTickets < ticketRange
})
self.setState({
existingTrains: trains
}
)
});
}