Skip to content
/ dezalgo Public

Contain async insanity so that the dark pony lord doesn't eat souls

License

Notifications You must be signed in to change notification settings

isaacs/dezalgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dezalgo

Contain async insanity so that the dark pony lord doesn't eat souls

See this blog post.

USAGE

Pass a callback to dezalgo and it will ensure that it is always called in a future tick, and never in this tick.

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)
  })
}

About

Contain async insanity so that the dark pony lord doesn't eat souls

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published