我正在使用 Apollo GraphQL
开发实时聊天应用程序,我想让客户了解其他客户的状态。
意味着我需要对订阅对象(在 app.js 中定义)中的 onConnect 和 OnDisconnect 事件做一些事情,并在用户连接或断开连接时向客户端发送订阅事件。
我找不到有关如何执行此操作的解释,我将不胜感激。
最佳答案
你必须像这样使用带有 context.initPromise 的 onDisconnect 属性:
onDisconnect: async (webSocket, context) => {
console.log('what is the context?: ', context);
try {
const initialContext = await context.initPromise;
if (
initialContext &&
typeof initialContext === 'object' &&
Reflect.has(initialContext, 'user')
) {
console.log('initialContext: ', initialContext);
}
} catch (err) {
console.log('error', err); // TypeError:
}
}
},
link和 link2以供引用。警告:这目前正在我的本地构建上工作,但不在我的 heroku 生产构建上
关于graphql - Apollo GraphQL - 处理 onConnect 和 OnDisconnect 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64227973/