diff --git a/lib/bitcoind.js b/lib/bitcoind.js index 15d7ce82..39e1e759 100644 --- a/lib/bitcoind.js +++ b/lib/bitcoind.js @@ -11,6 +11,9 @@ var util = require('util'); var fs = require('fs'); var mkdirp = require('mkdirp'); +// Compatibility with old node versions: +var setImmediate = global.setImmediate || process.nextTick.bind(process); + /** * Bitcoin */ @@ -425,7 +428,10 @@ Bitcoin.prototype.getAddrTransactions = function(addr, callback) { } var cached = Bitcoin._addrCache[addr]; if (cached && Date.now() <= (cached.time + 10 * 60 * 1000)) { - return callback(null, cached.addr); + setImmediate(function() { + return callback(null, cached.addr); + }); + return; } return bitcoindjs.getAddrTransactions(addr, function(err, addr) { if (err) return callback(err);