[英]NodeJS request and error handling
我有一個browsers.json
文件,希望在每次部署時進行更新。
萬一更新文件的請求失敗,我想保持原始文件不變。
這是一個好方法嗎,還是有“更好的實踐”方法?
var http = require('http');
var fs = require('fs');
var url = 'http://saucelabs.com/rest/v1/info/browsers/webdriver';
if (fs.existsSync('browsers.json')){
var browsers = JSON.parse(fs.readFileSync('browsers.json'));
}
http.get(url, function (res) {
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
var obj = JSON.parse(data);
fs.writeFile('browsers.json', data, function (err) {
if (err) throw err;
});
})
}).on("error", function () {
fs.writeFile('browsers.json', browsers, function (err) {
if (err) throw err;
});
});
我會說,如果出錯,您不應該寫任何東西。 我還要說通常最好是將響應直接傳遞到文件上的可寫流,這樣就不會在內存中緩沖整個內容。 (盡管,如果文件很小,那可能沒什么大不了的。)
最后,一旦擁有數據,別忘了重新解析和加載數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.