setTimeout задерживается в действиях React Redux / Redux Thunk
Пример одного из моих действий:
export function setHeights() {
if (noDifferenceInHeights && typeRequiresSetHeights) {´
const time1 = new Date().getTime();
setTimeout(() => {
const time2 = new Date().getTime();
console.log((time2 - time1) / 1000 + " seconds delay");
dispatch(setHeights());
});
} else if (typeRequiresSetHeights && document.getElementById('scroller')) {
dispatch({
type: 'SET_HEIGHTS',
heights: {
scrollHeight: document.getElementById('scroller').offsetHeight
}
})
}
}
По сути, я пытаюсь перезапустить функцию, если нет различий, но должны быть различия, потому что новые высоты еще не отрисованы. Поэтому тайм-аут сделан.
Я записываю время, которое требуется каждый раз, когда запускается. В первый раз это около 0,2 секунды. Затем близко к 10 секундам. Потом 30 секунд. Затем 60 секунд.
В чем может быть причина этого странного поведения? Я искал вокруг в течение нескольких часов.