async-state
Parse state across async callbacks.

Installation
npm install async-state
Usage
var asyncState = require('async-state')()
asyncState.foo = 'foo'
setTimeout(function () {
console.log(asyncState.foo)
}, 2000)
asyncState.foo = 'bar'
This also works between files. For a more complex example, see the
example
folder.
Gotchas
Only object references are copied across async bounderies. The content
of the object is shared! I.e. the following will get you into trouble:
var asyncState = require('async-state')()
asyncState.obj = { foo: 'foo' }
setTimeout(function () {
console.log(asyncState.obj.foo)
}, 2000)
asyncState.obj.foo = 'bar'
To solve that issue, implement your own cloning logic:
var asyncState = require('async-state')()
asyncState.obj = { foo: 'foo' }
setTimeout(function () {
console.log(asyncState.obj.foo)
}, 2000)
asyncState.obj = { foo: 'bar' }
Credits
Thanks to Andreas Madsen for pointing me towards the async_wrap API.
License
MIT