我正在使用Apollo和GraphQL开发一个Angular项目.我有一个突变,用于更新与其相关的相关详细信息的帐户列表.成功变异后,我使用refetchqueries来查询API以获取更新的帐户列表.一切都有效,直到这一部分.
this.apollo.mutate({
mutation: mutationCreateNewAccount,
variables: {
accountNumber: this.accountNumber,
accountType: this.accountType,
routingNumber: this.routingNumber,
nameOfAcountHolder: this.name
},
refetchQueries: [{
query: queryAccounts,
variables: { accountNumber: this.accountNumber }
}]}).subscribe(({ data }) => console.log(data),
订阅的“数据”返回来自变异的响应,但有没有办法可以使用’queryAccounts’返回的数据,这也是此突变的一部分?
似乎有一种方法可以做出反应,但我没有成功在Angular中做类似的事情.
最佳答案 您可以拥有一个在重新获取时始终更新的watchQuery
this.apollo.watchQuery({
query: query,
variables: variables
})
.valueChanges
.pipe(
map(res => res.data)
)
.subscribe(data => {
//Updated your data here
}, err => {
})
})