我有一组 url,我需要调用它们中的每一个,并按顺序以有效的 JSON 格式写入对文件的响应。例如,[resp1, resp2, resp3,...]
。但是,在下面的代码中,我以随机顺序将响应写入文件。例如,[resp3]resp1,resp2,
。如何防止这种情况发生在具有许多 url 的 foreach 中(这样我就不能手动下一个它们)?
fs.writeFile('my_file.json', "[", (err) => {
if (err) throw err;
});
urls.forEach((url, index) => {
https.get(url, (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
let output = data;
(index == urls.length) ? output += ']' : output += ','
fs.appendFileSync('my_file.json', output, (err) => {
if (err) throw err;
});
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
});