njs icon indicating copy to clipboard operation
njs copied to clipboard

core: generators

Open drsm opened this issue 5 years ago • 1 comments

> function *g(x) { return x; }
undefined
> var result = g(42);
undefined
> result
Object [Generator] {}
> result.next()
{ value: 42, done: true }
> result.next()
{ value: undefined, done: true }

> function *g(x) { throw new Error(x); }
undefined
> var result = g(42);
undefined
> result
Object [Generator] {}
> result.next()
Uncaught Error: 42
    at g (repl:1:24)
    at g.next (<anonymous>)

> function *g(x) { while(true) { yield 42; } return undefined; }
undefined
> var result = g(42);
undefined
> result.next()
{ value: 42, done: false }
> result.next()
{ value: 42, done: false }

> function *g(x) { return x + (yield x); }
undefined
> var result = g(42);
undefined
> result.next('whatever')
{ value: 42, done: false }
> result.next(100500)
{ value: 100542, done: true }
> result.next(123)
{ value: undefined, done: true }

drsm avatar Nov 11 '20 10:11 drsm

Right now this is preventing me from using some graphql client npm packages and few other packages.

yogeshgadge avatar Sep 06 '23 12:09 yogeshgadge

For advanced ES6 syntax and above use js_engine qjs.

xeioex avatar Jul 10 '25 20:07 xeioex