我正在尝试从2个不同的网络API(电池状态和联系人)中获取一些基本数据并将其写入我的.txt文件
但是,当我这样做时,只会写入一个数据,就像它会覆盖另一个数据一样。
我知道我的代码可能看起来很糟糕,但我是新手,我真的需要帮助。
代码
//GET - Battery status
var options = {
host: 'www.w3.org',
port: 80,
path: '/work'
};
http.get(options, function (response) {
console.log("Response: " + response.statusCode);
console.log("Header:" + JSON.stringify(response.headers));
fs.writeFile("external-api.txt", "Responsecode:" + response.statusCode + "\nHeaders:" + JSON.stringify(response.headers))
}).on('error', function (e) {
console.log("Napaka!: " + e.message);
});
//GET ZAHTEVE - Contacts
var options = {
host: 'www.google.com',
port: 80,
path: '/work'
};
http.get(options, function (response) {
console.log("Odgovor: " + response.statusCode);
console.log("Header:" + JSON.stringify(response.headers));
fs.writeFile("external-api.txt", "Responsecode:" + response.statusCode + "\nHeaders:" + JSON.stringify(response.headers))
}).on('error', function (e) {
console.log("Napaka!: " + e.message);
});
任何人都可以告诉我,我做错了什么?
答案 0 :(得分:3)
根据Node.js docs:
fs.writeFile(file, data[, options], callback)
异步将数据写入文件,替换文件(如果已存在)。数据可以是字符串或缓冲区。
所以,你要找的是:
fs.appendFile(file, data[, options], callback)
将数据异步附加到文件,如果不存在则创建文件 但是存在。数据可以是字符串或缓冲区。
希望这有帮助
答案 1 :(得分:1)
为什么不使用fs.appendFile。
fs.appendFile('message.txt', 'data to append', function (err) {
});