generator
const gen = function* () {
console.log(1);
yield;
console.log(2);
yield;
console.log(3);
yield 4;
};
const generator = gen();
generator.next();
-> 1
-> output: {value: undefined, done: false}
generator.next();
-> 2
-> output: {value: undefined, done: false}
// 중단점인 yield 뒤에 값을 넣어주면 value 값으로 리턴된다.
generator.next();
-> 3
-> output: {value: 4, done: false}
generator.next();
-> output: {value: undefined, done: true}
generator関数で普段タブー視されている無限の関数を書くことができます.let i = 0;
const gen = generator*() {
while(true) {
yield i++;
}
}
gen().next();
-> output: {value: 0, done: false}
gen().next();
-> output: {value: 1, done: false}
gen().next();
-> output: {value: 2, done: false}
.
.
.
Reference
この問題について(generator), 我々は、より多くの情報をここで見つけました https://velog.io/@eunsunbsn/generatorテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol