Fixed streaming of multiutxos.
This commit is contained in:
parent
6f9305c49f
commit
7809b84d55
@ -158,9 +158,8 @@ AddressController.prototype.utxo = function(req, res) {
|
|||||||
AddressController.prototype.multiutxo = function(req, res) {
|
AddressController.prototype.multiutxo = function(req, res) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
var sep = ',';
|
|
||||||
|
|
||||||
var addresses;
|
var addresses;
|
||||||
|
|
||||||
if (_.isArray(req.addrs)) {
|
if (_.isArray(req.addrs)) {
|
||||||
addresses = _.uniq(req.addrs);
|
addresses = _.uniq(req.addrs);
|
||||||
} else {
|
} else {
|
||||||
@ -168,8 +167,11 @@ AddressController.prototype.multiutxo = function(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var addressesLeft = addresses.length;
|
var addressesLeft = addresses.length;
|
||||||
|
var startedWriting = false;
|
||||||
res.write('[');
|
res.write('[');
|
||||||
|
|
||||||
|
var sep = ',';
|
||||||
|
|
||||||
async.eachLimit(addresses, 4, function(addr, next) {
|
async.eachLimit(addresses, 4, function(addr, next) {
|
||||||
|
|
||||||
self._address.getAddressUnspentOutputs(addr, {}, function(err, utxos) {
|
self._address.getAddressUnspentOutputs(addr, {}, function(err, utxos) {
|
||||||
@ -178,16 +180,21 @@ AddressController.prototype.multiutxo = function(req, res) {
|
|||||||
return next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i = 0; i < utxos.length; i++) {
|
if (addressesLeft-- > 0 && utxos.length > 0 && startedWriting) {
|
||||||
|
res.write(sep);
|
||||||
|
}
|
||||||
|
|
||||||
if (--addressesLeft <= 0 && utxos[i] === utxos[utxos.length - 1] ) {
|
for(var i = 0; i < utxos.length; i++) {
|
||||||
|
startedWriting = true;
|
||||||
|
if (utxos.length - 1 === i) {
|
||||||
sep = '';
|
sep = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
res.write(JSON.stringify(self.transformUtxo(utxos[i])) + sep);
|
res.write(JSON.stringify(self.transformUtxo(utxos[i])) + sep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sep = ',';
|
||||||
next();
|
next();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user