force cached addrs to be async.

This commit is contained in:
Christopher Jeffrey 2014-11-18 17:14:18 -08:00
parent 136b0c4122
commit e11389bb54
1 changed files with 7 additions and 1 deletions

View File

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