From e11389bb5454b1a0463c16e3e531d4cf95ce92f1 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 18 Nov 2014 17:14:18 -0800 Subject: [PATCH] force cached addrs to be async. --- lib/bitcoind.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);