[FIX] Change rooms request's race cancellation condition (#987)

* [FIX] Add Inactive state to rooms request's race cancellation

* Changed rooms request's cancellation rules
This commit is contained in:
Diego Mello 2019-06-18 17:12:33 -03:00 committed by GitHub
parent 5f259e552b
commit 1ba62f16ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 8 deletions

View File

@ -1,7 +1,8 @@
import { delay } from 'redux-saga';
import {
put, select, race, take, fork, cancel, takeLatest
} from 'redux-saga/effects';
import { BACKGROUND } from 'redux-enhancer-react-native-appstate';
import { BACKGROUND, INACTIVE } from 'redux-enhancer-react-native-appstate';
import * as types from '../actions/actionsTypes';
import { roomsSuccess, roomsFailure } from '../actions/rooms';
@ -61,13 +62,20 @@ const root = function* root() {
yield takeLatest(types.LOGOUT, handleLogout);
while (true) {
const params = yield take(types.ROOMS.REQUEST);
const isAuthenticated = yield select(state => state.login.isAuthenticated);
if (isAuthenticated) {
const roomsRequestTask = yield fork(handleRoomsRequest, params);
yield race({
roomsSuccess: take(types.ROOMS.SUCCESS),
roomsFailure: take(types.ROOMS.FAILURE),
serverReq: take(types.SERVER.SELECT_REQUEST),
background: take(BACKGROUND),
logout: take(types.LOGOUT)
inactive: take(INACTIVE),
logout: take(types.LOGOUT),
timeout: delay(30000)
});
yield cancel(roomsRequestTask);
}
}
};
export default root;