UNPKG

th

Version:

th.en - make it painless to adapt between callbacks and promises

35 lines (29 loc) 588 B
var Q = require('q') var next = null function then (resolved, rejected) { return next ? pop(resolved, rejected) : push() } function push() { next = Q.defer() return function (err, val) { if (err) { next.reject(err) return } next.resolve(val) } } function pop(resolved, rejected) { var _next = next next = null return _next.promise.then(resolved, rejected) } then.callback = function callback(promise, cb) { promise.then(function (val) { cb(null, val) }, function (err) { cb(err) }) } module.exports = then module.exports.en = then