2012-06-19 38 views
0

我的问题实际上是我在调用回调之前使用了响应主体,导致出现错误,因此回调从未被调用过。模块中的Node.js回调从未被调用

我正在使用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

您的代码按预期工作,如果您没有看到任何意味着某个错误的输出,则应在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) 
    } 
});