在android中从AWSAppSyncClient删除/清除缓存策略
我正在尝试从AWSAPSyncClient中删除/清除缓存机制 现在的问题是,我要提前获取存储或请求的值(缓存该值并返回该值) 我想要的是,它应该从api返回值(不应该缓存该值) 我试过这个:在android中从AWSAppSyncClient删除/清除缓存策略,android,kotlin,aws-appsync,Android,Kotlin,Aws Appsync,我正在尝试从AWSAPSyncClient中删除/清除缓存机制 现在的问题是,我要提前获取存储或请求的值(缓存该值并返回该值) 我想要的是,它应该从api返回值(不应该缓存该值) 我试过这个: AWSAppSyncClient.builder() .context(syncPort.androidContext()) .awsConfiguration(AWSConfiguration(syncPort.androidContext()))
AWSAppSyncClient.builder()
.context(syncPort.androidContext())
.awsConfiguration(AWSConfiguration(syncPort.androidContext()))
.build()
.clearCaches(ClearCacheOptions.builder().clearSubscriptions().build())
查询代码:
override fun getMedication(date: String): Single<SampleAdministration> {
return Single.create<SampleAdministration> { emitter ->
client.query(
GetSampleQuery.builder().date(date).build()
).enqueue(object : GraphQLCall.Callback<GetSampleQuery.Data>() {
override fun onFailure(e: ApolloException) {
emitter.onError(e)
}
override fun onResponse(response: Response<GetSampleQuery.Data>) {
val data = response.data()?.sample
val sampleAdministration = object : SampleAdministration {
override var date: String? =
data?.date()
}
emitter.onSuccess(sampleAdministration)
}
})
}
覆盖(日期:字符串):单个{
返回Single.create{emitter->
client.query(
GetSampleQuery.builder().date(date.build())
).enqueue(对象:GraphQLCall.Callback(){
覆盖失效(e:异常){
发射器。onError(e)
}
覆盖响应(响应:响应){
val数据=响应.数据()?.样本
val samconcedministration=对象:samconcedministration{
覆盖变量日期:字符串=
数据?.date()
}
发射器成功(SAMC管理)
}
})
}
}我已从AWSAPSyncClient.builder()中删除clearCaches 并在查询中添加了responseFetcher
override fun getMedication(date: String): Single<SampleAdministration> {
return Single.create<SampleAdministration> { emitter ->
client.query(
GetSampleQuery.builder().date(date).build()
).responseFetcher(AppSyncResponseFetchers.NETWORK_ONLY).enqueue(object : GraphQLCall.Callback<GetSampleQuery.Data>() {
override fun onFailure(e: ApolloException) {
emitter.onError(e)
}override fun onResponse(response: Response<GetSampleQuery.Data>) {
val data = response.data()?.sample
val sampleAdministration = object : SampleAdministration {
override var date: String? =
data?.date()
}
emitter.onSuccess(sampleAdministration)
}
})
}
覆盖(日期:字符串):单个{
返回Single.create{emitter->
client.query(
GetSampleQuery.builder().date(date.build())
).responseFetcher(仅适用于AppSyncResponseFetchers.NETWORK_)。排队(对象:GraphQLCall.Callback(){
覆盖失效(e:异常){
发射器。onError(e)
}覆盖响应(响应:响应){
val数据=响应.数据()?.样本
val samconcedministration=对象:samconcedministration{
覆盖变量日期:字符串=
数据?.date()
}
发射器成功(SAMC管理)
}
})
}