2016-05-11 3 views
0

私はthe tutorialに従っています。FeathersJSフックを理解する

todoService.before({ 
    find(hook) { 
    return this.find().then(data => { 
     hook.params.message = 'Ran through promise hook'; 
     hook.data.result = data; 
     // Always return the hook object 
     return hook; 
    }); 
    } 
}); 

あなたは私が行うことになっているものthis.find()お知らせくださいます:Asynchronous hooksでは、このようなスニペットはありますか?

答えて

2

findは、Feathers service methodであり、thisは、the service the hook is running onである。

+0

フローは になります。1.フックはサービスを呼び出して、関連するデータを変更します。 2.サービスは変更されたデータで呼び出されます そうですか? – anhldbk

+0

ああ、私は問題を参照して、 'hook.data.result = data;'はあまり役に立ちません。私はドキュメンテーションから取り出しました。基本的には、サービス 'find'メソッドを呼び出します。次に、そのデータで何かを行うことができます。 'hook.params.message'でいくつかの情報を追加します。これは、次のフックとサービスメソッド呼び出し' params'で利用可能になります。 'before'フックでは、' after'フックで返されたデータを変更できるように、クエリ、パラメータ、ユーザから送信されたデータ(例えば検証)を変更することができます。 – Daff

+0

さて、私たちはここで「より良いデモ」をすべきだと思います! 'find hook'が' find service'を呼び出すのではなく、 'find service'がもう一度実行されるようにするために、' hook.app.service( 'messages')。find()。then() '。コードを理解することがはっきりしていると思います。 – anhldbk

関連する問題