Node.js https.get返回无效的json

时间:2016-08-21 08:33:18

标签: javascript json node.js http asynchronous

欢迎任何帮助,我现在已经挣了好几个小时......

我有一些直接的代码,我在其中ping GitHub API以检索JSON。如果我同步执行此代码它可以很好地工作。但是,当我同时接收多个调用时(或者如果我在async.parallel中运行它),有时aa的结果是无效的JSON(我可以在我的日志中看到它)和JSON.parse崩溃。 似乎aa

的最终版本中缺少一大块
app.get('/update-tests', function(req, res) {
    const getOptionsGitHub = {
       ...
    };

    var req = https.get(getOptionsGitHub, function(res) {
        aa = "";
        res.on('data', function(chunk) { aa += chunk; });
        res.on('end', function() { 

            try {
                console.dir(aa);
                callback(JSON.parse(aa)); 
            } catch (e) {
                console.dir(e);
            }
        });
    });

    res.send(200);
});

我知道为什么有时会丢失一些块?

0 个答案:

没有答案