2013-08-21 13 views
1

我正在創建一個javascript類,並且我在node.js中使用了加密模塊。我不確定哪個是處理回調的最佳方法。看看這個例子並解釋一下。在node.js中處理回調的最佳實踐

Users.prototype.makeSalt = function(callback){ 
     crypto.randomBytes(64, callback); 
}; 

OR

其中哪一個是首選的方法或認爲是最佳做法?在第一個中,我將回調直接發送到模塊中定義的函數,並讓它處理回調。在第二個中,我通過接收函數的回調自己處理回調。 我覺得第一個是首選,除非我需要任何定製。但我在node.js和javascript中的技能非常新手,所以想知道這兩種方法之間的其他區別是什麼,哪一個會是首選?

+1

由於第二函數的作用的_exact_同樣的事情作爲第一,第一個是較短的,更清潔。如果你需要在回調之前處理數據,那麼第二條是要走的路。 –

回答

3

我認爲這並不重要。 如果需要通過在線小幅你可以代理其改變回調實現,你在選項2,如果沒有,就直接把它作爲選項1

關於第一類函數的偉大的事情是,他們提供了這種靈活性。 這意味着沒有儘可能多的最佳實踐規則,而是解決方案是根據它們與手頭場景相關的優點進行評估的。

0

第一個是清潔並取得了較好的可讀性

Users.prototype.makeSalt = function(callback){ 
     crypto.randomBytes(64, callback); 
}; 

如果你去看看它傳遞給你的回調函數的參數是相同的,即第一個參數err錯誤對象&第二個參數buf緩衝區。實際上,只有在你想對這些值做些什麼的時候,你才應該干預。在你的例子中,你沒有做任何事情。所以對你來說1st是最好的&推薦。

更多信息:Link