永远不会调用模块中的Node.js回调

时间:2012-06-19 17:16:01

标签: javascript node.js module callback

我的问题实际上是我在调用回调之前使用了响应主体,这导致了错误,因此从未调用过回调。

我正在使用request module,但任何回调似乎都会出现此问题。

如果我做这样的事情。

var request = require('request');

module.exports.test = function ()
{
    request('http://www.google.com', function (error, response, body) {
        /**
         * This callback doesn't seem to ever be called.
         */

        console.log(body);
    });
};

并使用它。

var mytest = require('./test.js');

mytest.test();

似乎永远不会调用回调。

1 个答案:

答案 0 :(得分:1)

您的代码按预期工作,如果您没有看到任何输出意味着发生了一些错误,应该在传递给您的函数的error参数中指出。

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Print the google web page.
  } else {
    console.log('error: '+ response.statusCode)
  }
});