강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Harry님의 프로필 이미지
Harry

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

take, take 시리즈, throttle 알아보기

다른 이펙트들은 사라지지않나요??

해결된 질문

작성

·

166

1

안녕하세요 제로초님!

질문이있습니다.

yield take의 경우 한번 실행되고 사라진다는 것은 이해했습니다. 제너레이터 함수이므로 그렇겠지요.

1. takeEvery나 takeLatest에 while(true) 와 같은 기능이 있다고 이해했는데 맞는건가요?

2. yield delay나 yield put 같은 것은 왜 사라지지 않나요?

3. yield는 제너레이터함수에서 호출할때마다 하나씩 끊어서 반환되는 것이라 이해했는데 왜 yield delay후에 yield put이 실행되는 건가요? takeLatest이펙트의 기능인가요..?

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. 맞습니다.

2. 사라집니다. 질문의 의도를 추측해보자면 take은 한 번 실행하고 더이상 실행이 안되는데 delay랑 Put은 왜 다음번에 되는지를 물어보시는 것 같은데요. watch 함수는 한 번만 실행되고 login* 함수같은 것은 매번 실행돼서 그렇습니다. 하나의 함수 안에서 더이상 호출이 안 되는거지 새로운 함수가 또 실행되면 새 함수 안에서는 실행됩니다.

3. 왜 연달아서 실행되는 지를 물어보시는 거면, saga가 내부적으로 계속 next를 호출해서 그렇습니다.

0

Harry님의 프로필 이미지
Harry
질문자

헉 질문 쓰고 화장실 갔다온사이에 답변이 달리다니...정말 감사합니다!! 완벽하게 이해했어요^^

Harry님의 프로필 이미지
Harry

작성한 질문수

질문하기