함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능
다른 작업을 하다가 다시 돌아와서 next() 해주면 진행이 멈췄던 부분부터 이어서 실행
ex) Redux Saga
function* fn(){
yield 1;
yield 2;
yield 3;
return "FINISH";
}
const a = fn();
console.log(a); // Generator { }
function* fn(){
console.log(1);
yield 1;
console.log(2);
yield 2;
console.log(3);
console.log(4);
yield 3;
return "FINISH";
}
const a = fn();
function* fn(){
try {
console.log(1);
yield 1;
console.log(2);
yield 2;
console.log(3);
console.log(4);
yield 3;
return "FINISH";
} catch (e) {
console.log(e)
}
}
const a = fn();
function* fn() {
yield 4;
yield 5;
yield 6;
}
const a = fn();
function* fn() {
const num1 = yield "첫번째 숫자를 입력해주세요.";
console.log(num1);
const num2 = yield "두번째 숫자를 입력해주세요.";
console.log(num2);
return num1 + num2;
}
const a = fn();
function* fn() {
let index = 0;
while(true) {
yield index++;
}
}
const a = fn();
function* gen1() {
yield "W";
yield "o";
yield "r";
yield "l";
yield "d";
}
function* gen2() {
yield "Hello,";
yield* gen1();
yield "!";
}