I have an array of objects with dogecoin addresses:
var wallets = [
{ address: 'DT2rmMrutwzdZ8EXwzj4QFdcL6DtvGGkci'},
{ address: 'DMoonjyH1aHLZc1kksmikBUhjXromn1ZN4'}
];
I also have a simple http request function:
function get(url) {
return new Promise(function(resolve, reject) {
var req = new XMLHttpRequest();
req.open('GET', url);
req.onload = function() {
if (req.status == 200) {
resolve(req.response);
}
else {
reject(Error(req.statusText));
}
};
req.onerror = function() {
reject(Error("Network Error"));
};
req.send();
});
}
I tried to add a new property to every object in the array wallets
containing a promise/api response, using a for loop:
for (i in wallets){
var balance = get('https://dogechain.info/api/v1/address/balance/'+wallets[i].address)
.then(
function(response){
wallets[i].balance = response;
},
function(error) {
wallets[i].balance = error;
}
);
};
console.log(wallets);
but in every iteration, when promise getting resolved, the for loop ends, assigning the responses to the last object.
What I want is an array like this:
[
{ address: 'DT2rmMrutwzdZ8EXwzj4QFdcL6DtvGGkci', balance: -balance from api response-},
{ address: 'DMoonjyH1aHLZc1kksmikBUhjXromn1ZN4', balance: -balance from api response-}
]