2014-01-25 106 views
0

嗨雖然我bcrypt beforeCreate功能實現的方法有兩種人實施了具有函數簽名beforeCreate功能FPGA實現的最佳實踐

beforeCreate: function (user, next, cb) 

或用函數簽名

beforeCreate: function (user, cb) 

,他們打電話或者cb()或next()函數完成後,我想知道哪個更好,爲什麼?

回答

3

大部分Sails/Waterline生命週期回調應該有兩個參數:values這是一個包含記錄字段值的對象,而cb這是一旦完成所有事情就會調用的回調函數。因此,正確的簽名是:

beforeCreate: function (values, cb) { ... } 

有關所有生命週期回調簽名的信息,請參見Waterline readme

+2

'next'和'cb'在這種情況下是相同的,只是兩種不同的回調命名約定。無論哪種方式,就像@bredikhin所說的那樣,'values'是提交給模型的數據。我用bcrypt密碼哈希做這個,你可以看到這個例子[這裏](https://github.com/RelativeMedia/sails-PassportLocalMongoExample/blob/master/api/models/User.js#L30-L42) – gorelative

+0

感謝bredikhin爲您的答案,並非常感謝您的評論gorelative並提供示例。 :) –