【发布时间】:2016-08-21 10:21:08
【问题描述】:
我试图调用返回一些 json 的两个单独的 api 端点,这两个调用将对象添加到列表中...在将列表返回到视图控制器之前如何等待两个函数完成
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调用吗?
-
干杯@vadin,你让我思考...stackoverflow.com/q/28791349/4154338