i have problem with my code, all i need is just to save results from looping api into json file using writeFileSync. Here's my code:
function processRarity(limit) {
var resultJson = [];
for (var i = limit; i < limit 100; i ) {
const everything = async () => {
const response = await fetch(
"https://api-v2-mainnet.paras.id/token/asac.near::" i
);
var json = await response.json();
return json;
};
everything().then((res) => {
console.log(res);
resultJson = res;
});
}
fs.writeFileSync(`${basePath}/results.json`, JSON.stringify(resultJson, null, 2));
}
when i check my json file, all i get is just:
[]
CodePudding user response:
You need to await
the calls to everything()
.
Also, you should be pushing onto resultJson
, not reassigning it each time through the loop.
const everything = async (i) => {
const response = await fetch(
"https://api-v2-mainnet.paras.id/token/asac.near::" i
);
var json = await response.json();
return json;
};
async function processRarity(limit) {
var resultJson = [];
for (var i = limit; i < limit 100; i ) {
let res = await everything(i);
console.log(res);
resultJson.push(res);
}
fs.writeFileSync(`${basePath}/results.json`, JSON.stringify(resultJson, null, 2));
}