簡體   English   中英

NodeJS請求和錯誤處理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM