RethinkDB with io.js: exploring ES6 generators and the future of JavaScriptrethinkdb.com 67 pointsmglukhovsky11 years ago4 commentsSaveHideCopy link On HNComments−sandstrom11yI like the article, and I look forward to ES6 generators.However, if someone want the compactness of the second example today, CoffeeScript is another alternative: conn = undefined r.connect().then (c) -> conn = c r.dbCreate('quake').run(conn) .then -> r.db('quake').tableCreate('quakes').run(conn) .then -> r.db('quake').table('quakes') .indexCreate('geometry', geo: true).run(conn) .then -> r.db('quake').table('quakes') .insert(r.http(feedUrl)('features')).run(conn) .error (err) -> console.log(err) if err.msg.indexOf('already exists') == -1 .finally -> conn.close() if conn (obviously the main benefits with generators aren't concise code, but since the article mentioned conciseness I thought I'd post the CoffeeScript equivalent)−Bahamut11yThat can be done via ES6 as well, replacing -> with => and adding parentheses for those lambdas.−sandstrom11yTrue! The only difference are implicit returns and significant whitespace I guess (and trailing same-line conditionals).(think it'll even have the skinny arrow, the fat one binds `this` too)−espadrine11yJS' fat arrow is also coming, which would give a similarly succinct code.
Comments
I like the article, and I look forward to ES6 generators.
However, if someone want the compactness of the second example today, CoffeeScript is another alternative:
(obviously the main benefits with generators aren't concise code, but since the article mentioned conciseness I thought I'd post the CoffeeScript equivalent)That can be done via ES6 as well, replacing -> with => and adding parentheses for those lambdas.
True! The only difference are implicit returns and significant whitespace I guess (and trailing same-line conditionals).
(think it'll even have the skinny arrow, the fat one binds `this` too)
JS' fat arrow is also coming, which would give a similarly succinct code.