我在解决如何将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)