함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능
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();
a.next();
를 입력하면 yield n
전까지의 코드를 호출한다.
다른 작업을 하다가 다시 돌아와서 진행이 멈췄던 부분 부터 이어서 실행
return(), throw()
외부에서 부터 값을 입력 받을 수 도 있다
무한 루프를 사용해도 컴퓨터가 뻗지 않는다 (이유: next 할때만 실행이 되어서 ..?)