• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

const result = yield call(logInAPI)

21.05.18 17:40 작성 조회수 113

0

function* logIn(action) {
  try {
    const result = yield call(logInAPI);
    yield put({
      type: "LOG_IN_SUCCESS",
      data: result.data,
    });
  } catch (err) {
    yield put({
      type: "LOG_IN_FAILURE",
      data: err.response.data,
    });
  }
}

const result = yield call(logInAPI); 항목 질문인데요

제너레이터 함수 문법은 yield까지 실행하고 종료해서 next()로 다시 함수내 다음문 실행을 거듭하는 특이한 함수로 알고 있는데요

yield로 받아지는 식별자 const result는 .next(인자)에서의 인자가 다음번 실행때 들어가는것 아닌가요? yield에서 만든 값은 이터레이터의 value값이 되는거고 식별자 result에 포함되지는 않다고 알고 있는데 어떻게 이해하는게 좋을까요

답변 1

답변을 작성해보세요.

0

next는 saga가 내부적으로 실행하므로 result 값도 saga가 알아서 할당합니다.

비슷한 구현체로는 

https://www.npmjs.com/package/co

보시면 됩니다.