問題タブ [graphql-subscriptions]
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.
graphql - Relay Modern サブスクリプション: レコードの倍数をインクリメンタルに返す
私は、投稿とそれらの投稿へのコメントを含む非常に単純なアプリに取り組んでいます。私は持っている
1) comment_mutation.js (サーバー側 - pubsub を使用して保存したコメントを公開しています)。不要なコードを削除しました
2) CommentSubscription.js (サーバー側) - サブスクリプションを取得し、postId に基づいてフィルタリングします。
サーバー側は非常にうまく機能しています。コメントが作成されるたびに、結果がサブスクリプションに公開されます。サブスクリプションはそれをキャッチし、結果を表示します。
クライアント側:
1) CommentMutaton.js - クライアント側。ユーザー自身がクライアント側 (react native) でコメントを作成するたびに、ストアが非常にうまく更新されます。
2) CommentSubscription.js (クライアント側)
問題はクライアント側にあります。サーバー側でコメントを作成すると、クライアント側で最初のコメントが正しく表示されます。サーバー側で別のコメントを送信すると、クライアント側で 2 つの同じコメントが表示されます。3 回目にコメントを送信すると、クライアント側で同じコメントが 3 つ表示されます。それは意味しますか:
comment_mutation.js (サーバー側) が実行されるたびに、既存のサブスクリプションに加えて新しいサブスクリプションが作成されます。それが私が考えることができる唯一の論理的な説明です。
CommentMutation.js の updater 関数を (クライアント側で) コメントアウトしましたが、まだこのエラーが表示されます。どんな助けでも大歓迎です。
graphql - Graphql-js サブスクリプションの単体テストが期待どおりに機能しない
奇妙な動作を示しているgraphql-jsサブスクリプションの統合テストを作成しました。
私のgraphq-jsサブスクリプションは、GraphiQLで完全に機能します。しかし、単体テストから同じサブスクリプションが呼び出されると、失敗します。
Ggraphql-Js オブジェクト、リゾルブ機能とサブスクライブ機能付き
};
サブスクリプション クエリ
突然変異クエリ
統合テスト
ここで問題 テストを実行すると、resolve関数のペイロードにグローバルデータが含まれますが、そこにはサブスクリプション ペイロードが含まれているはずです。そのため、コードが壊れます。