在node.js中使用common-node同步请求



这个简单的例子出了什么问题?

我已经将这段代码与其他同步/请求示例中的示例进行了比较,但是我看不到它。

HttpClient = require('common-node').httpclient.HttpClient
Fiber = require('fibers')
google = ->
  Fiber(() ->
    console.log(new HttpClient({
      url: 'http://google.com'
    }).finish().body.read(null).decodeToString())
  ).run()
google()

我很困惑,为什么当我记录响应时,它会被截断。最后,我读到响应是可迭代的,循环遍历它似乎是确保您拥有整个响应的唯一方法。

var jsonResponse = function(json_api_url) {
    var HttpClient = require('httpclient').HttpClient;
    var response =  new HttpClient({url: json_api_url}).finish();
    var bodyString = '';
    response.body.forEach(function(stream) {
        bodyString += stream.decodeToString();
    });
    return JSON.parse(bodyString);
}

最新更新