我是Node JS + Javascript的新手。我有一个模块,我希望它作为构造函数工作并初始化一些数据。并且当我从另一个模块需要时,期望这些数据(数组)可用。我提到了几个stackoverflow问题,但无法弄明白。 我在下面提到了这些链接。感谢是否有人可以帮助解决这个问题。
Initialize a module when it's required
Node.js - use of module.exports as a constructor
var answers = function() {
this.getAnswers = function(callback) {
conversations.getRequestData(function(conArr) {
var results = [];
// some code here
callback(results);
});
}
}
module.exports = answers

答案 0 :(得分:1)
这是具有回调函数的独立模块,并将输出输出到其他文件中:
//test.js
exports.answers = function(callback){
conversations.getRequestData(function(err,result){
if(!err){
callback(result);
}else{
callback(err);
}
}
}
//main.js
var test = requires('./test');
server.route({
method: 'GET',
path: '/testing_exports',
handler: function (req, reply) {
test.answers(function(resp){
console.log(resp); // your callback result
});
}
});
答案 1 :(得分:-1)
您可以在Node.js中使用类。要实现该类充当单例,请在module.exports中初始化它。
class Answers {
constructor(){
//...
}
getAnswers(callback) {
conversations.getRequestData(function(conArr) {
var results = [];
// some code here
return callback(results);
});
}
}
module.exports = new Answers();