問題タブ [falcor]

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.

0 投票する
6 に答える
29677 参照

graphql - Falcor と GraphQL の違いは何ですか?

GraphQL は、型システム、クエリ言語と実行セマンティクス、静的検証、および型イントロスペクションで構成され、それぞれについて以下に概説します。これらの各コンポーネントについて説明するために、GraphQL のさまざまな部分を説明するために設計された例を作成しました。

- https://github.com/facebook/graphql

Falcor では、仮想 JSON グラフを介して、すべてのリモート データ ソースを単一のドメイン モデルとして表すことができます。データがどこにあっても、クライアントのメモリ内にあるか、サーバーのネットワーク上にあるかに関係なく、同じ方法でコーディングできます。

- http://netflix.github.io/falcor/

Falcor と GraphQL (Relay のコンテキストで) の違いは何ですか?

0 投票する
1 に答える
391 参照

social-networking - ソーシャル ネットワーク グラフの作成に falcorjs を使用する

ソーシャル ネットワーク グラフの作成に falcorjs を使用できますか? すべてのデータをMySQLデータベースに保存し、データベースからデータを取得して適切な形式で表示するためのミドルウェアを構築すると思います。falcorjs を使用できますか? 私の主なアイデアは、その既知/未知のユーザーを既知の連絡先の独自のグループに追加するための計算、検索、および提案を行うことです。

0 投票する
2 に答える
670 参照

falcor - 利用可能なすべての ID を取得するように falcor ルーターを構成する方法は?

Guild Wars 2 APIの前に Falcor を使用して実験しており、それを使用してゲーム アイテムの詳細を表示したいと考えています。複数のデータソースを使用して異なる API の結果を結合できるルーターの構築に特に関心があります。

問題は、Guild Wars 2のアイテム IDが連続していないことです。次に例を示します。

items[100..120].nameそのため、そのリストにはほぼ確実に穴がたくさんあるため、クライアントにパスを書き込むことはできません。

ルーターにルートを追加しようとしたので、 をリクエストできますitemsが、それはクライアントの無限ループに送信されます。その試みは GitHubで見ることができます。

これを構造化する正しい方法に関する指針はありますか? もっと考えてみると、item.id代わりに欲しいのではないでしょうか?

0 投票する
1 に答える
374 参照

javascript - Falcor ルート固有のミドルウェア

サーバーで次の Router クラスが実行されているとします。

そして、ブラウザーで次のパス クエリを実行します (私は falcor-http-datasource を使用しています)。

次の正しいデータを取得します。

私の質問は、サーバー上で、この get route リクエストに応答して falcor がネットワーク経由でブラウザーに送信する実際の結果にアクセスする方法ですか?

私の使用例は、2 つのデータをまとめてログアウトすることです。

  1. ルートが渡される pathSet。
  2. falcor がネットワーク経由で送り返す json の結果。

私はそれが次のようになるかもしれないと思っていました:

ただ明確にします。クライアントで結果を取得できることはわかっていますが、サーバー上の別の場所にパイプしたいと考えています。

0 投票する
1 に答える
400 参照

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', ... ]

バッキング サーバーからのデータが変更された場合、アプリケーション コードだけでなくルーターも更新する必要があります。オブジェクトの入れ子が深くなると、順列の数が急激に増えるため、これは非常に混乱します。

0 投票する
1 に答える
567 参照

node.js - Falcor の setValue() が外部モデルで機能しないのはなぜですか?

ローカルのFalcorモデルでsetValue()を使用すると、期待どおりに動作しますが、モデルをサーバーに移動すると、「500 (Internal Server Error)」が発生します。

以下の例は正しく動作します (スクリプトはブラウザーで実行されます)。

しかし、このセットアップをリモート Falcor モデルに変更すると失敗します。(スクリプトはブラウザで実行されます)

次のノード スクリプトを使用します (スクリプトはサーバー上で実行されます)。

コンソールのエラー メッセージ (setValue()呼び出されたとき):

0 投票する
1 に答える
188 参照

falcor - falcor: パスでインデックスを使用してアイテムの値を設定する

配列が並べ替えられている可能性があることを念頭に置いて、配列内のオブジェクト値を更新するための推奨されるアプローチは何ですか?

配列が削除または並べ替えによって変更された可能性がある場合、インデックスベースのパスを使用することがどれほど危険なのか疑問に思っています。代わりにオブジェクトを使用したほうがよいでしょうか。

0 投票する
1 に答える
274 参照

falcor - FalcorJSルーターは約束を返すことをサポートしていますか?

例では (私が知る限り、ルーターの例でいくつかの微妙な点を見逃している可能性があります)、生の値が get 関数から返されます。get 関数でコールバックまたはプロミスを返す方法はありますか? それを行う最善の方法は何ですか?

今のところ、私は Q.defer を使用していると思いますか?

0 投票する
1 に答える
704 参照

caching - Falcor: 古いクライアント キャッシュを避ける

現在取り組んでいるアプリ プロジェクトでFalcorを使用することを検討しています。ドキュメントを読み始めましたが、まだ完全に明確ではない問題が 1 つあります。

この例を作ってみましょう。

  1. ゼロの時点で、クライアントAは Falcor モデルへのリクエストを実行します。Falcor モデルは必要なデータをサーバーから取得DataSourceし、クライアントのキャッシュに保存します。

  2. ある時点で、同じサーバー データがクライアントBによって実行される操作によって変更されます。

  3. その時点で、 2 つのクライアントAが Falcor モデルに対して同じ要求を実行します。Falcor モデルは、キャッシュされた値を見つけて、古くなったデータを提供します。

そのデータの Falcor キャッシュが古くなっていることをクライアントAに通知し、代わりにサーバーに新しい要求DataSourceを実行する方法はありますか?

0 投票する
1 に答える
151 参照

falcor - Falcor Router はルートランキングを実装していますか?

Faclor ルーターを調べているときに、ルートを任意の組み合わせのエンティティ キーのセットに一致させることができる KeySets の機能が非常に気に入りましたが、ルートのランキングについて疑問に思いました。

ルートがある場合:"titlesById[{integers:titleIds}]['name','year']"

そして別のルート:"titlesById[{integers:titleIds}]['name']"

キーのみを要求するとname、Falcor ルーターはどのルートを使用するかをどのように決定しますか? 私の懸念は、複数のキーが単一のキーにアクセスする場合よりも効率的なデータ アクセス戦略を持っている可能性があることです。