Hacker News new | past | comments | ask | show | jobs | submit login
RethinkDB with io.js: exploring ES6 generators and the future of JavaScript (rethinkdb.com)
67 points by mglukhovsky on Jan 17, 2015 | hide | past | favorite | 4 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:

    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)


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: