2017-10-10 31 views
1

は、次のJavaScriptコードを考えてみましょう:foobarが実行されますメソッドデコレータの実行順序は?

class Example { 

    @foo 
    public methodOne() {} 

    @bar 
    public methodTwo() {} 

} 

どのような順序では?私はvariou JSエンジンがそれを実装する方法には興味がありませんが、仕様に応じて正しい方法は何かに注意してください。私はこの動作がJSエンジン間で一貫していることに頼ることができるかどうかを知る必要があります。

TypeScriptデコレータが同じように動作するかどうかは興味深いでしょう。

+1

どのメソッドが宣言されているかは重要ではありません。どのメソッドが最初に装飾されているかは関係ありません。あなたは実行の順序に頼る必要があると思っていることを何をしようとしていますか? – Bergi

+0

これは、 '@get(" index.htm ")でメソッドをデコレートしてHTTPリクエストにマップするルータ(現在はまだ書かれていない)です。 – Anders

+0

あなたはそれらを個々のファイルに(重複なしで)明らかにマッピングするのではなく、適用される順序が問題となる*ルール*にマッピングすることを意味しますか? TBH、私は 'class'を使ってそれをやっていませんし、メソッドを使うことさえしません - 彼らの名前は重要ではありません。代わりに、ルールファンクションタプル(オブジェクト)のリスト(配列)でなければなりません。 – Bergi

答えて

2

fooとbarはどのような順序で実行されますか?

出現順。従ってfoo、次にbar