yield is only valid inside a function*. This is why galaxy has a 'Star' variant for all the array methods that take a callback. So, it should work if you replace forEach by forEachStar
Bruno On Friday, July 12, 2013 11:47:28 PM UTC+2, cpprototypes wrote: > > I'm using node 0.11.3 with --harmony-generators to try the new feature. I > found two libraries that should help use existing node callback-based code > with generators (suspend and galaxy). The code I'm trying to run was > similar to the following: > > (using suspend) > > var fs = require('fs'); > var request = require('request'); > > suspend(function* (resume) { > var contents = yield fs.readFile('idList.json', 'utf8', resume); > contents.split('\n').forEach(function(id) { > var info = yield request.get('http://www.example.com?id='+id, > resume); > }); > })(); > > (using galaxy) > > var galaxy = require('galaxy'); > var fs = galaxy.star(require('fs')); > var request = galaxy.star(require('request')); > > function* main() { > var contents = yield fs.readFile('idList.json', 'utf8'); > contents.split('\n').forEach(function(id) { > var info = yield request.get('http://www.example.com?id='+id); > }); > }; > > galaxy.unstar(main)(function(err, result) { > console.log('done'); > }); > > Using either library, when node tries to execute the get request ("var > info = yield request.get...") it exits with the following error: > > SyntaxError: Unexpected identifier > > And the error highlights the "request" part in "var info = yield > request.get..." I'm guessing that the creation of the new function scope > in the forEach is somehow causing an issue. But I'm not sure why it's not > working. > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.