問題タブ [absinthe]

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 投票する
1 に答える
141 参照

graphql - GraphQL Elixir/Phoenix API: 大きな JSON 応答でソケットがハングアップする

Elixir/Phoenix および GraphQL の新機能。PostgreSQL データベースから「図面」を取得する単純な API を作成しました。テーブルは「id」(uuid) と「drawing_json」(テキスト) で構成されます。表には、約 77Kb の json 文字列を含む 1 つの行があります。私のスキーマとクエリは Absinthe を使用して定義されています。「all_drawings」という名前のクエリが 1 つあります。これは解決してレポに到達し、すべての図面を取り込みます。postman を使用してこの API を呼び出す場合、次のクエリは正常に機能します。

ただし、json フィールドも返そうとすると、郵便配達員の要求がタイムアウトし、「ソケットがハングアップしました」というエラーが発生します。

ここに画像の説明を入力

Visual Studio Code のデバッグ コンソールを見ると、クエリが db からデータを問題なく、ほぼ即座に取得していることがわかります。それをクライアントに返す際に、私が検出できない何かが起こっているようです。エラーはスローされません。何か案は?どの情報が役立つかはわかりませんが、喜んでさらに提供します。

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

graphql - サーバー側からabsinthe graphqlサブスクリプションを強制的に切断する方法はありますか?

私が取り組んでいる Phoenix アプリは、ドキュメントが「パブリック」である限り、ドキュメントの変更に対するサブスクリプションを作成します。ただし、誰かが自分のドキュメントを「非公開」に変更した場合、それらのサブスクリプションが引き続き更新を受け取ることは望ましくありません。

プライベート ドキュメントで新しいサブスクリプションが作成されないようにする方法はわかっていますが、サーバー側から既存のサブスクリプションを無効にする方法がわかりません。

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

elixir - FunWithFlags を使用して Absinthe Middleware で ArgumentError ets.lookup を取得する

absinthe middleware/3FunWithFlags.enabled?コールバック内で(ref fwf )を使用しようとしていますが、次のエラーが発生しました。

あまり試していません。問題が発生している場所を絞り込みました。:some_flag record(またはおそらくテーブル) が作成される前にミドルウェアがコンパイル:fun_with_flags_cacheされ、レコード/テーブルがないために失敗したと思います。

このリンクは言う:

フラグ情報を Redis またはリレーショナル DB (Ecto を使用した PostgreSQL または MySQL) に保存して、異なるノード間での永続化と同期を行いますが、高速検索のために ETS テーブルにローカル キャッシュも保持します。ノードでフラグが追加または切り替えられると、他のノードは PubSub を介して通知され、ローカルの ETS キャッシュをリロードします。

次の構成でETSを無効にしようとしました:

しかし、私は働きませんでした。:(

これが私がそれをどのように使用しているかの例です:

ありがとう!

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

node.js - overmind graphqlでPhoenix npmパッケージをインポートできません

npm installエラーが発生した場合、run を使用してすべてのノード モジュールを再インストールしました。
Cannot find module 'phoenix' from 'node_modules/@absinthe/socket/compat/cjs/index.js'

@absinthe コードで最初に失敗します:
require('phoenix');@absinthe/socket/compat/cjs/index.js で

しかし、overmind-graphql は phoenix にも依存しており、IDE は壊れたインポートを示しています: overmind-graphql の
import { Socket as PhoenixSocket } from 'phoenix';この行

このためにインストールした関連パッケージのバージョン:

私は試した:

  • 「phoenix」と「@absinthe/socket」は以前依存していたので、手動でインストールしました
  • すべての node_modules を削除し、すべてのパッケージを再インストールします
  • package-lock.json、node_modules を削除し、すべてのパッケージを再インストールします
  • React コンポーネントで overmind のインポートを削除する: 失敗した phoenix インポートに到達しないため、エラーは発生しません
  • 実行next buildnext start、常にリロードする代わりにnext dev
0 投票する
1 に答える
31 参照

graphql - absinthe - カスタム型からネストされたフィールドを解析する方法

スキーマにカスタム GeoPoint タイプを設定したいのですが、スキーマ タイプ ファイルでこれを行う方法の例が見つかりません。私が見つけた唯一の方法は、スキーマ ファイルで input_object を使用することでした。Absinthe.Blueprint.Input.Object を使用してこのようにすることは可能ですか??

これは私のカスタムタイプです:

これで、このミューテーションで新しいエントリを作成できます

そしてこれらの変数

次のようなものを使用して作成することをお勧めします

また