async.coffee

Coffee DSL for Async

Async.coffee

A CoffeeScript DSL for Async.

npm install async.coffee

async.parallel ->
@fn one: ->
setTimeout =>
@callback null1
500
 
@fn two: ->
setTimeout =>
@callback null2
200
 
@callback ->
expect(@results.one).toBe 1
expect(@results.two).toBe 2
expect(@err).toBeUndefined()
  • async functions have @callback in their context, also aliased as @cb and @c. They also receive it as their first argument.

  • The @callback function receives the results as @results, also aliased to @res and @response and the error as @err, @e or @error. It also receives them as arguments: (err, res) ->.

  • Parallel
  • Map
  • @fn - receives an object of named functions.
  • @callback - (optional) the callback function.
async.parallel ->
@fn one: ->
setTimeout =>
@callback null1
500
 
@fn two: ->
setTimeout =>
@callback null2
200
 
@callback ->
expect(@results.one).toBe 1
expect(@results.two).toBe 2
expect(@err).toBeUndefined()
  • @iter - receives an object of named functions.
  • @callback - (optional) the callback function.
async.map [1..100]->
@iter ->
setTimeout =>
@callback null@item*2
100
@callback ->
for i in [0...100]
expect(@results[i]).toBe((i+1)*2)
expect(@err).toBeUndefined()
done()