다음 예시 코드를 크롬 개발자 도구에 한번 입력해 보세요.

    function* watchGenerator() {
    console.log('모니터링 ...');
    let prevAction = null;
    while(true) {
        const action = yield;
        console.log('이전 액션: ', prevAction);
        prevAction = action;
        if (action.type = = = 'HELLO') {
            console.log('안녕하세요!');
        }
    }
    }
    
    const watch = watchGenerator();
    
    watch.next();
    // 모니터링 중..
    // {value: undefined, done: false}
    watch.next({ type: 'TEST' });
    // 이전 액션:  null
    // {value: undefined, done: false}
    watch.next({ type: 'HELLO' });
    // 이전 액션:  {type: "TEST"}
    // 안녕하세요!
    // {value: undefined, done: false}

    redux-saga는 위 코드와 비슷한 원리로 작동합니다. 제너레이터 함수의 작동 방식만 기본적으로 파악하고 있으면, redux-saga에서 제공하는 여러 유용한 유틸 함수를 사용하여 액션을 쉽게 처리할 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.