我正在使用Apollo和GraphQL开展Angular项目。我有一个突变,用于更新与其相关的相关详细信息的帐户列表。成功变异后,我使用refetchqueries来查询API以获取更新的帐户列表。一切都有效,直到这部分。
channelId
'数据'对于订阅返回来自变异的响应,但有没有办法可以使用' queryAccounts'返回的数据。哪个也是这个突变的一部分?
似乎有一种方法可以做出反应,但我没有成功在Angular中做类似的事情。
答案 0 :(得分:1)
您可以拥有一个在重新获取时始终会更新的watchQuery
this.apollo.watchQuery({
query: query,
variables: variables
})
.valueChanges
.pipe(
map(res => res.data)
)
.subscribe(data => {
//Updated your data here
}, err => {
})
})
答案 1 :(得分:0)
您提到反应中有多种方法,但我认为这是不正确的。
让我解释一下阿波罗中的突变是如何工作的。
curl_easy_setopt(curl, CURLOPT_CAINFO, my-path);
选项运行.crt
apollo.mutate()
)refetchQueries
中指定的每个查询都会启动一个新的HTTP请求并针对服务器运行。我在文档https://www.apollographql.com/docs/angular/features/cache-updates.html#after-mutations
中对此进行了解释。基本上,refetchQueries不会获取或访问数据。