made history call async
This commit is contained in:
parent
592cd23500
commit
66aad76047
46
lib/node.js
46
lib/node.js
@ -198,12 +198,7 @@ Node.prototype.setupSockets = function()
|
||||
{
|
||||
console.info('his', 'Got history request');
|
||||
|
||||
var reqHistory = self.getHistory( data );
|
||||
|
||||
socket.emit('history', {
|
||||
id: self.id,
|
||||
history: reqHistory
|
||||
});
|
||||
self.getHistory( data );
|
||||
})
|
||||
.on('node-pong', function(data)
|
||||
{
|
||||
@ -506,6 +501,8 @@ Node.prototype.getStats = function(forced)
|
||||
|
||||
Node.prototype.getHistory = function (range)
|
||||
{
|
||||
var self = this;
|
||||
|
||||
var history = [];
|
||||
var interv = {};
|
||||
|
||||
@ -519,19 +516,38 @@ Node.prototype.getHistory = function (range)
|
||||
|
||||
console.info('his', 'Getting history from', chalk.reset.cyan(interv[0]), 'to', chalk.reset.cyan(interv[interv.length - 1]));
|
||||
|
||||
for (var i = 0; i < interv.length; i++)
|
||||
async.mapSeries(interv, function (number, callback)
|
||||
{
|
||||
var block = this.getBlock( interv[i] );
|
||||
|
||||
if( block !== null && !_.isUndefined(block.number) )
|
||||
async.nextTick(function ()
|
||||
{
|
||||
history.push( block );
|
||||
var block;
|
||||
|
||||
try {
|
||||
block = self.formatBlock(web3.eth.getBlock(number, true));
|
||||
}
|
||||
catch (err) {
|
||||
console.error('xx>', 'history block failed: ', err);
|
||||
callback(err, null);
|
||||
}
|
||||
|
||||
callback(null, block);
|
||||
});
|
||||
},
|
||||
function (err, results)
|
||||
{
|
||||
console.timeEnd('=H=', 'his', 'Got history in');
|
||||
|
||||
if (err) {
|
||||
console.error('his', 'history fetch failed:', err);
|
||||
|
||||
results = false;
|
||||
}
|
||||
}
|
||||
|
||||
console.timeEnd('=H=', 'his', 'Got history in');
|
||||
|
||||
return history.reverse();
|
||||
socket.emit('history', {
|
||||
id: self.id,
|
||||
history: results.reverse()
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Node.prototype.getMinerName = function(miner)
|
||||
|
Loading…
Reference in New Issue
Block a user