Generator Function
Generator Function을 처음 알게 된건, Redux-saga를 통해 알에 되었다
모양은 function* 이렇게 function 선언 다음에 * 가 붙은 모양이다.
function* generatorTest() {
yeild console.log(5);
yeild console.log(10);
}
일반 함수는 함수를 호출하면 Funtion안에 선언된 로직들이 일괄 실행 되는데에 반해,
Generator Function 은 Yield와 Next를 통해 로직을 정지시킬수 있으며, 다시 시작 시킬 수도 있다
Generator는 Itorator 객체를 반환한다.
yield & next
yield는 함수의 실행을 일시적으로 막는 것 ( 일반함수의 return 과 유사 )
next는 다음 진행을 재개시키는 것
Generator Function Return
return 수행 후 > Iterator 종료 > return 뒤에 오는 값
> IteratorResult 객체의 value 프로퍼티에 할당, done 프로퍼티는 Boolean값이 할당
예제)
function* testGenerator() {
return 'Hello';
}
const gen = testGenerator();
console.log(gen.next());
// { value : 'Hello', done: true }
Generator를 사용한 라이브러리들은 어떤게 있을까?
- 비동기 처리를 위한 리덕스 미들웨어 Redux Saga
- Node.js 프레임워크 중 Koa
등이 있다.
'Front > JavaScript' 카테고리의 다른 글
VanilaJS로 SPA 개발해보기 (No Framework) (1) | 2022.02.15 |
---|---|
트리 쉐이킹 (Tree Shaking) 이란 무엇인가 (0) | 2022.01.12 |
이벤트 루프 (Event Loop) 정확히 알기 (2) (0) | 2021.10.17 |
이벤트 루프 (Event Loop) 정확히 알기 (1) (0) | 2021.10.15 |
[Javascript] 호이스팅(Hoisting)에 대해 정리 (0) | 2021.10.07 |
댓글