首页 > 解决方案 > Linux swift 项目中的 PromiseKit 无法按预期工作

问题描述

如果你在 Linux swift 项目中执行类似:

import PromiseKit

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

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

标签: swiftpromisekit

解决方案


在 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


推荐阅读