Linux swift 项目中的 PromiseKit 未按预期工作
PromiseKit in Linux swift project works not as expected
如果您在 Linux swift 项目中执行类似:
import PromiseKit
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done {
getResult([=12=])
}
}
getResult([=13=])
永远不会被执行。为什么?
在Linuxswift项目中你需要使用:
import PromiseKit
import Dispatch
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done(on:DispatchQueue.global()) {
getResult([=10=])
}.ensure(on:DispatchQueue.global()) {
}.catch(on:DispatchQueue.global()) {
}
}
PS。适用于 Ubuntu 16.04,Swift 4.2
如果您在 Linux swift 项目中执行类似:
import PromiseKit
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done {
getResult([=12=])
}
}
getResult([=13=])
永远不会被执行。为什么?
在Linuxswift项目中你需要使用:
import PromiseKit
import Dispatch
func runAsyncAction() {
firstly {
executeSomePromiseFunc()
}.done(on:DispatchQueue.global()) {
getResult([=10=])
}.ensure(on:DispatchQueue.global()) {
}.catch(on:DispatchQueue.global()) {
}
}
PS。适用于 Ubuntu 16.04,Swift 4.2