我正在为我正在开发的当前应用程序使用 AWS Appsync,并面临一个严重的问题,即每当我在 Appsync 客户端中触发查询时,当互联网连接速度较慢时,请求永远不会以回调结束。我在互联网上检查了有关此主题的信息来源有限,并且还发现此问题仍然存在。
这是我用来获取响应的代码
func getAllApi(completion:@escaping DataCallback){
guard isInternetAvailabele() else {
completion(nil)
return
}
// AppSyncManager.Client() is AWSAppSyncClient Object
AppSyncManager.Client().fetch(query: GetlAllPostQuery(input: allInputs), cachePolicy:.fetchIgnoringCacheData) {
(result, error) in
var haveError:Bool = error != nil
if let _ = result?.data?.getAllPostings?.responseCode {haveError = false} else {haveError = true}
if haveError {
print(error?.localizedDescription ?? "")
completion(nil)
return
}
if result != nil{
completion(result)
}else{
completion(nil)
}
}
}
该代码适用于互联网连接,如果没有互联网,我已经在顶部检查过,但是当互联网连接速度较慢或 wifi 连接到我用我的手机创建的热点并禁用互联网数据时,请求不会返回任何回调,它应该在请求超时时发出失败警报,就像我们在其他 api 中获得的一样。是否支持请求超时或我错过了什么?
注意:我在终端中收到了这些日志
Task <06E9BBF4-5731-471B-9B7D-19E5E504E57F>.<45> HTTP load failed (error code: -1001 [1:60])
Task <D91CA952-DBB5-4DBD-9A90-98E2069DBE2D>.<46> HTTP load failed (error code: -1001 [1:60])
Task <06E9BBF4-5731-471B-9B7D-19E5E504E57F>.<45> finished with error - code: -1001
Task <D91CA952-DBB5-4DBD-9A90-98E2069DBE2D>.<46> finished with error - code: -1001