[英]Calling GraphQL appSync requests and wait for the result to come back 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)!)
}
}
您只需要在 function 中使用完成處理程序即可忽略 null 返回
例如
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
}
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.