如果您在Linux swift项目中执行以下操作:
import PromiseKit
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done {
getResult($0)
}
}
getResult($0)
将永远不会执行。为什么?
答案 0 :(得分:1)
在Linux swift项目中,您需要使用:
import PromiseKit
import Dispatch
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done(on:DispatchQueue.global()) {
getResult($0)
}.ensure(on:DispatchQueue.global()) {
}.catch(on:DispatchQueue.global()) {
}
}
PS。适用于Ubuntu 16.04,Swift 4.2