gpt4 book ai didi

Swift,在返回列表之前等待两个完成 block 完成

转载 作者:行者123 更新时间:2023-11-28 06:36:07 24 4
gpt4 key购买 nike

我试图调出两个返回一些 json 的独立 api 端点,这两个调用将对象添加到列表中...我如何等待两个函数完成,然后再将列表返回给 View Controller

import Alamofire
import SwiftyJSON

class SearchService {

var searchItemList = [SearchItem]()

func performFetch(keyword: String, count: Int, completion:(items: [SearchItem]?) -> ()){
>>>// NEED TO WAIT FOR THE fetchItemsA AND fetchItemsB TO FINISH THEM RETURN ‘searchItemList’
}

func fetchItemsA(keyword: String, count: Int, completion:(error:NSError?) -> ()) {
guard let url = self.searchUrl else {
return
}

let manager = Manager.sharedInstance
manager.request(.GET, url, parameters: ["keywords": keyword, "count": count], encoding: ParameterEncoding.URL)
.validate()
.responseJSON {response in



for item in items {
self.searchItemList.append(SearchItem(json: item)!)
}


completion(error: resultError)
}

func fetchItemsB(keyword: String, count: Int, completion:(error:NSError?) -> ()) {
guard let url = self.searchUrl else {
return
}

let manager = Manager.sharedInstance
manager.request(.GET, url, parameters: ["keywords": keyword, "count": count], encoding: ParameterEncoding.URL)
.validate()
.responseJSON {response in



for item in items {
self.searchItemList.append(SearchItem(json: item)!)
}


completion(error: resultError)
}
}

感谢任何帮助

最佳答案

如果 API 不同,您可以尝试 this answer .如果您想执行两个异步请求,最简单的解决方案是对请求进行计数并检查已完成的请求数(答案中的第一个解决方案)。请记住,响应可能是成功或错误。

关于Swift,在返回列表之前等待两个完成 block 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39063137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com