0
嗨雖然我bcrypt beforeCreate功能實現的方法有兩種人實施了具有函數簽名beforeCreate功能FPGA實現的最佳實踐
beforeCreate: function (user, next, cb)
或用函數簽名
beforeCreate: function (user, cb)
,他們打電話或者cb()或next()函數完成後,我想知道哪個更好,爲什麼?
嗨雖然我bcrypt beforeCreate功能實現的方法有兩種人實施了具有函數簽名beforeCreate功能FPGA實現的最佳實踐
beforeCreate: function (user, next, cb)
或用函數簽名
beforeCreate: function (user, cb)
,他們打電話或者cb()或next()函數完成後,我想知道哪個更好,爲什麼?
大部分Sails/Waterline生命週期回調應該有兩個參數:values
這是一個包含記錄字段值的對象,而cb
這是一旦完成所有事情就會調用的回調函數。因此,正確的簽名是:
beforeCreate: function (values, cb) { ... }
有關所有生命週期回調簽名的信息,請參見Waterline readme。
'next'和'cb'在這種情況下是相同的,只是兩種不同的回調命名約定。無論哪種方式,就像@bredikhin所說的那樣,'values'是提交給模型的數據。我用bcrypt密碼哈希做這個,你可以看到這個例子[這裏](https://github.com/RelativeMedia/sails-PassportLocalMongoExample/blob/master/api/models/User.js#L30-L42) – gorelative
感謝bredikhin爲您的答案,並非常感謝您的評論gorelative並提供示例。 :) –