2016-10-18 10 views
2

ループバックの新機能です。ループバックでフック(リモート、観測、モデル)を見たときに驚いていました。ループバックフックの作業フローが内部で発生する方法

私はすべてのフックを使用する場合、最初にどのフックトリガを知りたいのですか。このコードスニペットを試しました。しかし、私はどのフックが最初にトリガーされるのか分からなかった。

Users.beforeRemote('create', (ctx, modelInstance, next) => signup(ctx, modelInstance, next, Users)); 

Users.observe('before save', validateBeforeSave); 

Users.beforeSave = testFunction 

誰でも説明できます。それはその名の

は(ループバックでは、リモートインスタンスのためのREST APIを使用して、リモートから呼び出すことができ、モデルの機能です

示すよう Users.create前に呼び出されるため

おかげ

+0

あなたの問題が解決したと思ったら、私の答えを受け入れるように自由に記入してください。乾杯。 – Overdrivr

+0

ありがとう@Overdrivr – subbu

答えて

1

Users.beforeRemote('create', ..)は、最初に呼び出されます。あなたはPOST api/Usersを作るとき、あなたが実際にUsers.createリモート電話をかける)

次にリモートメソッドUsers.createが呼び出されます。このメソッド内のある時点で、データはデータベースに永続化されます(= save)。したがって、データが保存される直前にUsers.observe('before save',..)が呼び出されます。

最後にUsers.beforeSaveはモデルフックで、Users.observe('before save',..)と同じ時刻に呼び出されます。

Users.beforeSaveと操作フックの賛成で最もモデルフックare deprecated

  1. Users.beforeRemote('create', ..)
  2. Users.create
  3. Users.observe('before save',..)
  4. など

を要約するとModel.beforeSaveを使用しないでください。

関連する問題