2017-08-03 75 views

回答

2

這取決於您是否希望模塊的使用者能夠通過覆蓋exports.generate(例如require('foo').generate = function() {...})來影響模塊的行爲。

如果你不希望用戶能夠以這種方式影響它,那麼你最好的選擇是拉出generate()函數並命名它,然後導出並使用函數直接按名稱在save()

function generate(details) { 
    // ... 
} 

exports.generate = generate; 
exports.save = function(details) { 
    generate(details).then(function(id) { 
    // ... 
    }); 
}; 

否則,如果你希望允許用戶覆蓋generate()功能,那麼目前你在做什麼是好的。

+0

我想消費者能夠使用'generate'方法 –

+0

所以,我想我會用'function generate(){}'方式去。 –

0
var _this=this; 
exports.save = function(details) { 
    _this.generate(details) ... 
}; 
相關問題