小编Ols*_*son的帖子

Relay Modern:将websocket连接到网络层

我在解决如何将Relay Modern网络层与我的websocket实例连接时遇到了问题.

我目前正在实例化一个websocket实例:

const subscriptionWebSocket = new ReconnectingWebSocket('ws://url.url/ws/subscriptions/', null, options);
Run Code Online (Sandbox Code Playgroud)

我正在指定订阅并创建一个新实例requestSubscription:

const subscription = graphql`
  subscription mainSubscription {
    testData {
      anotherNode {
        data
      }
    }
  }
`;

requestSubscription(
  environment,
  {
    subscription,
    variables: {},
    onComplete: () => {...},
    onError: (error) => {...},
    onNext: (response) => {...},
    updater: (updaterStoreConfig) => {...},
  },
);
Run Code Online (Sandbox Code Playgroud)

然后允许我发送任何订阅请求:

function subscriptionHandler(subscriptionConfig, variables, cacheConfig, observer) {
  subscriptionWebSocket.send(JSON.stringify(subscriptionConfig.text));

  return {
    dispose: () => {
      console.log('subscriptionHandler: Disposing subscription');
    },
  };
}

const network = Network.create(fetchQuery, subscriptionHandler); …
Run Code Online (Sandbox Code Playgroud)

websocket reactjs relayjs

4
推荐指数
1
解决办法
1676
查看次数

标签 统计

reactjs ×1

relayjs ×1

websocket ×1