Я не могу понять эффект задержки в Саге. Это кажется простым, но мне не подходят сроки. Это проект React Native.
import {take, race, delay} from 'redux-saga/effects';
...
function* letsRace(retryTimeout) {
const startTime = Date.now();
const {resolved, timedout} = yield race({
resolved: take('HAPPY_TIMES'),
timedout: delay(retryTimeout),
});
if (resolved) {
console.log(`[CBlock] : Good : ${Date.now() - startTime} / ${retryTimeout}`);
}
if (timedout) {
console.log(`[CBlock] : Bad : ${Date.now() - startTime} / ${retryTimeout}`);
}
}
Журналы:
[CBlock]: Плохо: 4028/5000
[CBlock ]: Плохо: 7045/8000
[CBlock]: Плохо: 16/800
Независимо от указанной мной задержки, задержка заканчивается примерно на одну секунду рано. Если задержка меньше одной секунды, кажется, что он срабатывает почти мгновенно.
Версии:
"react-redux": "^7.1.1",
"redux": "^4.0.4",
"redux-saga": "^1.1.1"
"react": "16.11.0",
"react-native": "0.62.2"