【发布时间】:2019-04-12 09:40:04
【问题描述】:
我关注this guide。我正在尝试在我的节点应用程序中收听 graphQL 订阅。我在实施该订阅时遇到了很多麻烦。我尝试了几种不同的方法,如下所列,它们都不起作用。
// converted to rxjs observables
from(PrismaClient.$subscribe.priority({
mutation_in: "CREATED"
})).subscribe(
(next) => {
console.log("next", next);
},
() => {
console.log("error");
},
() => {
console.log("complete");
}
);
// as promise
PrismaClient.$subscribe.priority({
mutation_in: "CREATED"
}).then(
(next) => {
console.log("next", next);
}
);
这两个都在下一个返回:
{ next: [Function: next],
return: [Function: return],
throw: [Function: throw],
'@@asyncIterator': [Function] }
我希望它返回 priority,它是在任何时候创建新的时创建的。但是,它只返回一次并立即完成并返回我上面列出的那个对象。
我知道这与返回 Promise<AsyncIterator<...>> 有关,但我不知道如何解决这个问题。
如何使用prisma-client 在节点应用程序中创建 prisma graphql 订阅?我还想将其转换为rxjs 而不是使用promises。我只是更喜欢Observables。
【问题讨论】:
标签: typescript rxjs graphql prisma async-iterator