I've read over several examples of code using JavaScript generators such as this one.  The simplest generator-using block I can come up with is something like:  function read(path) {     return function (done) {         fs.readFile(path, "f...
I've got this recursive generator    var obj = [1,2,3,[4,5,[6,7,8],9],10]  function *flat(x) {     if (Array.isArray(x))         for (let y of x)             yield *flat(y)     else         yield 'foo' + x;  }  console.log([...flat(obj)])...
The following implements a control flow wrapper co enabling asynchronous code to be delineated only by the yield keyword.  Is this basically what async/await does under the hood in ESwhatever?    co(function*() {     console.log('...');     y...
I've been very excited about Node JS for awhile. I finally decided to knuckle down and write a test project to learn about generators in the latest Harmony build of Node.  Here is my very simple test project:  https://github.com/kirkouimet/projec...
I have constructed a function which iterates through a Generator containing both synchronous code and Promises:  module.exports = {       isPromise (value) {             return typeof value === 'object' && value !== null && &#...
I'm trying to create a promise-wrapper using generator so that I can do:  var asyncResult = PromiseWrapper( $.ajax( ... ) );   So far, I've been trying with:  function PromiseWrapper(promise){     return function *wrapper(promise){         pr...
When passing parameters to next() of ES6 generators, why is the first value ignored? More concretely, why does the output of this say x = 44 instead of x = 43:  function* foo() {     let i = 0;     var x = 1 + (yield "foo" + (++i));     conso...
Does ES6's support for tail call optimization cover tail calls in generators?  Suppose I have this generator for integers >= 0:  var nums = function* (n) {     n = n || 0;     yield n;     yield* nums(n + 1); };   Currently, in Chrome and Fire...

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.