调用 GraphQL appSync 请求并等待结果返回 Swift iOS
Calling GraphQL appSync requests and wait for the result to come back Swift iOS
我希望我的应用程序等到请求结果返回。所以在下面的块中,我想做的是,如果请求的查询 return 的结果为空,我想调用“self.insertCreditRecord”。有没有人这样做过?
appSyncClient?.fetch(query: selectQuery, cachePolicy: .fetchIgnoringCacheData) {(result, error) 在
如果错误!=无{
打印(错误?.localizedDescription ??“”)
return
}
result?.data?.listTranscriberConfigs?.items!.forEach {
if let credit = Double([=12=]?.value ?? "0.0")
{
UserCredit.id = ""
UserCredit.id = [=12=]?.id ?? ""
UserCredit.email = [=12=]?.param ?? ""
UserCredit.credit = credit
}
if UserCredit.id == "" {
self.insertCreditRecord(email: email)
}
print(([=12=]?.param)! + " " + ([=12=]?.value)!)
}
}
您只需要在函数中使用完成处理程序来忽略 null return
例如
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
}
})
我希望我的应用程序等到请求结果返回。所以在下面的块中,我想做的是,如果请求的查询 return 的结果为空,我想调用“self.insertCreditRecord”。有没有人这样做过? appSyncClient?.fetch(query: selectQuery, cachePolicy: .fetchIgnoringCacheData) {(result, error) 在 如果错误!=无{ 打印(错误?.localizedDescription ??“”) return }
result?.data?.listTranscriberConfigs?.items!.forEach {
if let credit = Double([=12=]?.value ?? "0.0")
{
UserCredit.id = ""
UserCredit.id = [=12=]?.id ?? ""
UserCredit.email = [=12=]?.param ?? ""
UserCredit.credit = credit
}
if UserCredit.id == "" {
self.insertCreditRecord(email: email)
}
print(([=12=]?.param)! + " " + ([=12=]?.value)!)
}
}
您只需要在函数中使用完成处理程序来忽略 null return
例如
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
}
})