Skip to content

Instantly share code, notes, and snippets.

@belocer
Last active September 25, 2020 12:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save belocer/b0312b67309bb6a2436f9655c24e49df to your computer and use it in GitHub Desktop.
Save belocer/b0312b67309bb6a2436f9655c24e49df to your computer and use it in GitHub Desktop.
Генераторы
// Generator
function *gen (num = 4) {
for (let i = 0; i < num; i++) {
yield i
}
}
const iter = gen(3)
console.log(iter.next()) // { value: 0, done: false }
console.log(iter.next()) // { value: 1, done: false }
console.log(iter.next()) // { value: 2, done: false }
console.log(iter.next()) // { value: undefined, done: true }
function *gen (num = 4) {
for (let i = 0; i < num; i++) {
try {
yield i
} catch (e) {
console.log('Error', e);
}
}
}
const iter = gen(3)
console.log(iter.next()) // { value: 0, done: false }
console.log(iter.throw('My Error')) // Error My Error
console.log(iter.next()) // { value: 2, done: false }
console.log(iter.next()) // { value: undefined, done: true }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment