swift - Linux swift 项目中的 PromiseKit 未按预期工作

标签 swift promisekit

如果你在 Linux swift 项目中执行类似这样的东西:

import PromiseKit

func runAsyncAction() {
    firstly {
        executeSomePromiseFunc()
    }.done {
        getResult($0)
    }
}

getResult($0) 永远不会被执行。为什么?

最佳答案

在Linux swift项目中你需要使用:

import PromiseKit
import Dispatch

func runAsyncAction() {
    firstly {
        executeSomePromiseFunc()
    }.done(on:DispatchQueue.global()) {
        getResult($0)
    }.ensure(on:DispatchQueue.global()) {

    }.catch(on:DispatchQueue.global()) {

    }
}

附言。适用于 Ubuntu 16.04、Swift 4.2

关于swift - Linux swift 项目中的 PromiseKit 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55705833/

相关文章:

swift - Promises + Alamofire 确保网络调用始终在后台进行

ios - 更新到 Xcode 12 : Cannot convert value of type 'DataRequest' to closure result type 'Void'

ios - 检查Admob插屏是否完成

ios - 在 iOS 上以编程方式本地化 info.plist

ios - 使用if/else语句返回可观察到的值不适用于RxSwift flatMap

json - 使用 PromiseKit 和 Swift 标准网络处理拒绝?

ios - 如何删除父 View 的模糊 View 而不是 subview ?

ios - View 关闭后快速更新按钮文本

ios - PromiseKit 依赖 promise 导致提前释放