diff options
Diffstat (limited to 'together/node_modules/dezalgo/README.md')
-rw-r--r-- | together/node_modules/dezalgo/README.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/together/node_modules/dezalgo/README.md b/together/node_modules/dezalgo/README.md new file mode 100644 index 0000000..bdfc8ba --- /dev/null +++ b/together/node_modules/dezalgo/README.md @@ -0,0 +1,29 @@ +# dezalgo + +Contain async insanity so that the dark pony lord doesn't eat souls + +See [this blog +post](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony). + +## USAGE + +Pass a callback to `dezalgo` and it will ensure that it is *always* +called in a future tick, and never in this tick. + +```javascript +var dz = require('dezalgo') + +var cache = {} +function maybeSync(arg, cb) { + cb = dz(cb) + + // this will actually defer to nextTick + if (cache[arg]) cb(null, cache[arg]) + + fs.readFile(arg, function (er, data) { + // since this is *already* defered, it will call immediately + if (er) cb(er) + cb(null, cache[arg] = data) + }) +} +``` |