問題タブ [falcor-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
falcor - 利用可能なすべての ID を取得するように falcor ルーターを構成する方法は?
Guild Wars 2 APIの前に Falcor を使用して実験しており、それを使用してゲーム アイテムの詳細を表示したいと考えています。複数のデータソースを使用して異なる API の結果を結合できるルーターの構築に特に関心があります。
問題は、Guild Wars 2のアイテム IDが連続していないことです。次に例を示します。
items[100..120].name
そのため、そのリストにはほぼ確実に穴がたくさんあるため、クライアントにパスを書き込むことはできません。
ルーターにルートを追加しようとしたので、 をリクエストできますitems
が、それはクライアントの無限ループに送信されます。その試みは GitHubで見ることができます。
これを構造化する正しい方法に関する指針はありますか? もっと考えてみると、item.id
代わりに欲しいのではないでしょうか?
javascript - Falcor ルート固有のミドルウェア
サーバーで次の Router クラスが実行されているとします。
そして、ブラウザーで次のパス クエリを実行します (私は falcor-http-datasource を使用しています)。
次の正しいデータを取得します。
私の質問は、サーバー上で、この get route リクエストに応答して falcor がネットワーク経由でブラウザーに送信する実際の結果にアクセスする方法ですか?
私の使用例は、2 つのデータをまとめてログアウトすることです。
- ルートが渡される pathSet。
- falcor がネットワーク経由で送り返す json の結果。
私はそれが次のようになるかもしれないと思っていました:
ただ明確にします。クライアントで結果を取得できることはわかっていますが、サーバー上の別の場所にパイプしたいと考えています。
falcor - ディープ パス用に falcor ルーターを構成する効率的な方法は?
私は鷹の実験を続けており、そのほとんどを楽しんでいますが、何か気になることがあります.
私はJSONGraphを複数の異なるAPIから組み立てています。まさに何falcor-router
をするつもりですか。ただし、特別な処理が必要なルートを爆破することなく、特別な処理を必要としないフィールドにキャッチオールをきれいに提供する方法を見つけることができないようです。
私のルートは次のようになります。
items[{integers:ids}].name
items[{integers:ids}][{keys:fields}]
一般的なルートでルートを宣言する順序に関係なく、常に優先されます。このようなルートを構築する完全な核オプションよりも、これを回避するためのより良い方法はありますか?
items[{integers:ids}].name
items[{integers:ids}]['fooga', 'wooga', 'booga', 'tooga', ... ]
バッキング サーバーからのデータが変更された場合、アプリケーション コードだけでなくルーターも更新する必要があります。オブジェクトの入れ子が深くなると、順列の数が急激に増えるため、これは非常に混乱します。
node.js - Falcor の setValue() が外部モデルで機能しないのはなぜですか?
ローカルのFalcorモデルでsetValue()を使用すると、期待どおりに動作しますが、モデルをサーバーに移動すると、「500 (Internal Server Error)」が発生します。
以下の例は正しく動作します (スクリプトはブラウザーで実行されます)。
しかし、このセットアップをリモート Falcor モデルに変更すると失敗します。(スクリプトはブラウザで実行されます)
次のノード スクリプトを使用します (スクリプトはサーバー上で実行されます)。
コンソールのエラー メッセージ (setValue()
呼び出されたとき):
falcor - FalcorJSルーターは約束を返すことをサポートしていますか?
例では (私が知る限り、ルーターの例でいくつかの微妙な点を見逃している可能性があります)、生の値が get 関数から返されます。get 関数でコールバックまたはプロミスを返す方法はありますか? それを行う最善の方法は何ですか?
今のところ、私は Q.defer を使用していると思いますか?
falcor - Falcor Router はルートランキングを実装していますか?
Faclor ルーターを調べているときに、ルートを任意の組み合わせのエンティティ キーのセットに一致させることができる KeySets の機能が非常に気に入りましたが、ルートのランキングについて疑問に思いました。
ルートがある場合:"titlesById[{integers:titleIds}]['name','year']"
そして別のルート:"titlesById[{integers:titleIds}]['name']"
キーのみを要求するとname
、Falcor ルーターはどのルートを使用するかをどのように決定しますか? 私の懸念は、複数のキーが単一のキーにアクセスする場合よりも効率的なデータ アクセス戦略を持っている可能性があることです。
falcor - どの Falcor ルーターの実装がありますか?
さまざまなプログラミング言語用の Falcor ルートの既存のサーバー側実装はありますか?
falcor - Falcor を使用してクライアントから認証トークンを送信する方法
今、私はクライアントに次のコードを持っています:
falcor-router クラスを使用してサーバー側でトークンを処理する方法を完全に理解しています。私の質問は、ブラウザからの各リクエストでトークンを送信する方法です(上記のコードを変更する方法)? 情報が見つかりませんでした。falcor がネットワークを開発者から隠したらすぐに、HTTP リクエストのオプションがいくつかあると思います。
答えていただければ幸いです。