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');
|
console.info('his', 'Got history request');
|
||||||
|
|
||||||
var reqHistory = self.getHistory( data );
|
self.getHistory( data );
|
||||||
|
|
||||||
socket.emit('history', {
|
|
||||||
id: self.id,
|
|
||||||
history: reqHistory
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
.on('node-pong', function(data)
|
.on('node-pong', function(data)
|
||||||
{
|
{
|
||||||
@ -506,6 +501,8 @@ Node.prototype.getStats = function(forced)
|
|||||||
|
|
||||||
Node.prototype.getHistory = function (range)
|
Node.prototype.getHistory = function (range)
|
||||||
{
|
{
|
||||||
|
var self = this;
|
||||||
|
|
||||||
var history = [];
|
var history = [];
|
||||||
var interv = {};
|
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]));
|
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] );
|
async.nextTick(function ()
|
||||||
|
|
||||||
if( block !== null && !_.isUndefined(block.number) )
|
|
||||||
{
|
{
|
||||||
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');
|
socket.emit('history', {
|
||||||
|
id: self.id,
|
||||||
return history.reverse();
|
history: results.reverse()
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Node.prototype.getMinerName = function(miner)
|
Node.prototype.getMinerName = function(miner)
|
||||||
|
Loading…
Reference in New Issue
Block a user