Следующие примеры и документы redux-saga У меня есть функция для создания канала redux-saga для моего сокета следующим образом:
export function* initializeWebSocketChannel(param) {
const mySocket = new SockJS(endpoints.WS);
const channel = yield call(createEventChannel, mySocket, param);
while (true) {
const { unmountDashboard, response } = yield race({
unmount: take(FETCH_STOP),
response: take(channel),
});
if (unmount) {
channel.close();
} else {
if (response.data) {
yield put({
type: FETCH_SUCCESS,
payload: response.data,
});
}
if (response.error) {
yield put({
type: FETCH_ERROR,
payload: response.error,
});
}
}
}
}
Проблема заключается в том, что при возникновении ошибки или при отсутствии inte rnet розетка закрывается и никогда не запускается снова. Как я могу это сделать, если, если такой случай случится, например, каждые 30 секунд, я попытаюсь снова запустить этот канал?