我想在每个部署上更新一个browsers.json
文件。NodeJS请求和错误处理
如果更新文件的请求失败,我想保持原文件不变。
这是一个很好的方式来做到这一点,或者是否有“更好的做法”?
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;
});
});
“如果发生更新文件的请求,我想保持原始文件不变。”你什么意思?你的意思是如果文件已经存在,什么都不做? – Brad
@Brad,我的意思是_fails_,对不起。纠正。我的意思是如果请求失败,我不想重新编写浏览器文件。 – Sergio