如何创建Node JS构造函数来初始化回调函数

时间:2016-11-28 07:57:20

标签: node.js module

我是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




2 个答案:

答案 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();