ios - 调用 GraphQL appSync 请求并等待结果返回 Swift iOS
问题描述
我希望我的应用程序等到请求结果返回。所以在下面的块中,我想要做的是如果请求的查询返回空结果,我想调用“self.insertCreditRecord”。有人做过吗?appSyncClient?.fetch(query: selectQuery, cachePolicy: .fetchIgnoringCacheData) {(result, error) in if error != nil { print(error?.localizedDescription ?? "") return }
result?.data?.listTranscriberConfigs?.items!.forEach {
if let credit = Double($0?.value ?? "0.0")
{
UserCredit.id = ""
UserCredit.id = $0?.id ?? ""
UserCredit.email = $0?.param ?? ""
UserCredit.credit = credit
}
if UserCredit.id == "" {
self.insertCreditRecord(email: email)
}
print(($0?.param)! + " " + ($0?.value)!)
}
}
解决方案
你只需要在你的函数中使用完成处理程序来忽略空返回
例如
typealias CompletionHandler = (success:Bool) -> Void
func downloadFileFromURL(url: NSURL,completionHandler: CompletionHandler) {
// download code.
let flag = true // true if download succeed,false otherwise
completionHandler(success: flag)
}
// How to use it.
downloadFileFromURL(NSURL(string: "url_str")!, { (success) -> Void in
// When download completes,control flow goes here.
if success {
// download success
} else {
// download fail
}
})
推荐阅读
- javascript - 如何将值从 javascript 传递到我的 php 函数 codeigniter
- c++ - 返回无符号字符数组的值会引发 SIGABRT 错误
- ios - Firebase App crashed on launch when made active from background
- python - 遇到ValueError,如何解决?
- angular - Angular 6:Kendo-Schduler 中事件的不同背景颜色
- python - 如何仅获取具有特定条件的数据帧的第二个索引
- python - 查找常见项目数量python的快速方法
- css - 低 Z 指数中的高 Z 指数
- bash - 如何以读写权限打开已编译的应用程序?
- python - 列出所有“.csv”文件名,然后输入相应的代码来绘制图形