generator 2
next 메소드에 인수전달
function* ff() {
const num1 = yield "첫번째 숫자를 입력하세요";
console.log(num1);
const num2 = yield "두번째 숫자를 입력하세요";
console.log(num2);
return num1 + num2;
}
const f = ff();
console.log(f.next()); // {value: '첫번째 숫자를 입력하세요', done: false}
console.log(f.next(2)); // 2 / {value: '두번째 숫자를 입력하세요', done: false}
console.log(f.next(6)); // 6 / {value: 8, done: true}
generator는 값을 미리 만들어 놓지 않음
무한으로 반복하는 반복문을 사용해도 문제 없음 필요한 순간에 사용하기 때문에
function* fr(){
let index = 0;
while(true){
yield index++;
}
}
const r = fr();
console.log(r.next()); // 0
console.log(r.next()); // 1
console.log(r.next()); // 2
yiedl*
다른 generator 함수 부르기
function* gen1(){
yield "W";
yield "o";
yield "r";
yield "l";
yield "d";
}
function* gen2(){
yield "Hello,";
yield* gen();
yield "!";
}
console.log(...gen2())
댓글남기기