尝试从require传递responseHandler而不是将其放在同一个文件中,但获取错误侦听器参数必须是一个函数。 console.log要求返回,返回一个函数,所以我没有看到问题?
def ok!
self.update_attributes(status: :ok, error_message: nil)
end
如果我将第1行替换为downloader.js的内容,那么一切正常......
downloader.js的内容只是
var responseHandler = require("./downloader.js");
log(responseHandler); // Logs [Functions: responseHandler)
request = https.get(fileUrl, responseHandler); // Error "listener" argument must be a function (according to the log line above, it is!?)
我想保持主文件干净小,并将其作为一个需求,想法吗?
答案 0 :(得分:1)
您需要尝试:
request = https.get(fileUrl, responseHandler.responseHandler);
您正在导出一个具有名为responseHandler的函数的对象,因此您需要直接调用它
答案 1 :(得分:1)
如果您只想导出该功能,可以使用以下功能:
release()
然后导入的值将是函数而不是具有函数值的对象:
module.exports = responseHandler;
答案 2 :(得分:0)
您只能导出不带名称的函数
module.exports = (response)=> {
// some code to process response.statusCode
response.on('data',function(chunk){//stuff});
response.on('error',function(e){//stuff});
response.on('end',function(e){//stuff});
}