【发布时间】:2019-08-23 08:35:40
【问题描述】:
promise 是否总是在后台线程上运行。
@IBAction func doNetworkCall(_ sender: Any) { // Does this run on
background thread
Network.fetchPhotos().done { (photos) in
}
}
static func fetchPhotos () -> Promise<[Photo]> {
return Promise { seal in
AF.request("https:photosURL", method: .post, parameters: ["auth":"1231","user_id":"u12312"]).responseJSON { (response) in
guard let data = response.data else { return }
let coder = JSONDecoder()
let photos = try! coder.decode([Photo].self, from: data)
seal.fulfill(photos)
}
}
}
我使用 Promise 的目的是为了让所有网络调用都在后台线程上运行,而不管从主线程调用。我有一些更容易实现的链式网络请求。
这个假设正确吗?
【问题讨论】:
标签: swift alamofire promisekit