GraphQL [Apollo-Android]:两个 `.watcher().enqueueAndWatch` 创建无限刷新循环
GraphQL [Apollo-Android]: two `.watcher().enqueueAndWatch` creating infinite refresh loop
我正在使用 enqueueAndWatch
从我的服务器请求 'posts' 的列表,这导致无限刷新循环。
两个查询如下:
query GetOrganizationPosts {
user {
organization {
posts {
...post
}
}
}
}
query GetUserPosts {
user {
posts {
...post
}
}
}
fragment post on Post {
id
title
messsage
}
视图模型已初始化,当我从帖子片段调用 refreshPosts()
时发生无限循环:
init {
viewModelScope.launch {
networkClient.apolloClient.
query(GetOrganizationPostsQuery())
.watcher().enqueueAndWatch(callback)
networkClient.apolloClient
.query(GetUserPostsQuery())
.watcher().enqueueAndWatch(callback2)
}
}
fun refreshPosts() {
networkClient.apolloClient
.query(GetOrganizationPostsQuery())
.enqueue(null)
networkClient.apolloClient
.query(GetUserPostsQuery())
.enqueue(null)
}
提前致谢!
Apollo-Android 拉取请求中描述的解决方法:https://github.com/apollographql/apollo-android/issues/2226
将 .responseFetcher(ApolloResponseFetchers.CACHE_ONLY)
添加到任何 enqueueAndWatch
调用。这可确保观察者在更新缓存时不会执行网络请求。
我正在使用 enqueueAndWatch
从我的服务器请求 'posts' 的列表,这导致无限刷新循环。
两个查询如下:
query GetOrganizationPosts {
user {
organization {
posts {
...post
}
}
}
}
query GetUserPosts {
user {
posts {
...post
}
}
}
fragment post on Post {
id
title
messsage
}
视图模型已初始化,当我从帖子片段调用 refreshPosts()
时发生无限循环:
init {
viewModelScope.launch {
networkClient.apolloClient.
query(GetOrganizationPostsQuery())
.watcher().enqueueAndWatch(callback)
networkClient.apolloClient
.query(GetUserPostsQuery())
.watcher().enqueueAndWatch(callback2)
}
}
fun refreshPosts() {
networkClient.apolloClient
.query(GetOrganizationPostsQuery())
.enqueue(null)
networkClient.apolloClient
.query(GetUserPostsQuery())
.enqueue(null)
}
提前致谢!
Apollo-Android 拉取请求中描述的解决方法:https://github.com/apollographql/apollo-android/issues/2226
将 .responseFetcher(ApolloResponseFetchers.CACHE_ONLY)
添加到任何 enqueueAndWatch
调用。这可确保观察者在更新缓存时不会执行网络请求。