【发布时间】:2013-08-23 19:05:51
【问题描述】:
我正在创建一个 javascript 类,并且我有这个在 node.js 中使用加密模块的函数。我不确定哪种方法是处理回调的最佳方式。看例子并解释一下。
Users.prototype.makeSalt = function(callback){
crypto.randomBytes(64, callback);
};
或
Users.prototype.makeSalt = function(callback){
crypto.randomBytes(64, function(err, buf){
if (err) callback(err);
callback(null, buf);
});
};
其中哪一种是首选方法或被认为是最佳做法?在第一个中,我将回调直接发送到模块中定义的函数并让它处理回调。在第二个中,我通过从函数接收回调来自己处理回调。 我觉得第一个是首选,除非我需要任何自定义。 但是我在 node.js 和 javascript 方面的技能非常新手,所以想知道这两种方法之间的其他区别是什么哪个是首选??
【问题讨论】:
-
由于第二个函数的作用与第一个函数完全相同相同,因此第一个函数更短更简洁。如果您需要在回调数据之前对其进行操作,那么第二种方法就是要走的路。
标签: javascript node.js express closures