NodeJS调用函数两次生成错误

时间:2016-01-12 11:32:36

标签: json node.js api

我有一个for循环,它调用以下函数两次:

var getJSON = function (url, callback) {
    var http = require('https');
    http.get(url, function (res) {
        var body = '';

        res.on('data', function (chunk) {
            body += chunk;
        });

        res.on('end', function () {
            //console.log("Got response: ", body);
            var response = JSON.parse(body);

            return callback(response);
        });

    }).on('error', function (e) {
        console.log("Got error: ", e);
        return callback(-1); 
    });
}

url参数最初是" https://api.bitok.com/open_api/btc_eur/ticker"第二次" https://api.bitok.com/open_api/btc_usd/ticker"。回调参数只是程序应该运行的另一个函数。问题是,如果它只在第一次工作(无论两个端点中的哪一个),第二次是下降而不是打印错误,不知道该怎么做。

修改

这是我调用函数的for循环,我也无法理解错误," exch.pairs_list.length"等于2.

for (var i = 0; i < exch.pairs_list.length; i++) {
    getJSON(url, callback);
}

没有抛出任何错误,问题是回调函数,它只被调用一次,应该是两次。

1 个答案:

答案 0 :(得分:0)

我很抱歉,这个错误非常愚蠢,我试图在实际收到来自API的回复之前打印结果。