Linux swift 项目中的 PromiseKit 无法按预期工作

Posted

技术标签:

【中文标题】Linux swift 项目中的 PromiseKit 无法按预期工作【英文标题】:PromiseKit in Linux swift project works not as expected 【发布时间】:2019-04-16 10:19:10 【问题描述】:

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

import PromiseKit

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

getResult($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

【讨论】:

以上是关于Linux swift 项目中的 PromiseKit 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 项目中使用 Objective C 类中的 Swift 类

Swift 项目中的版本控制

目标 C 项目中的 Xcode 8.3 Swift 版本错误 (SWIFT_VERSION)

如何使用 Swift 对我的项目中的 Foreach 循环中的“金钱”值求和? [关闭]

在 AVPlayer [Swift] 中播放 MPMediaItemCollection 中的项目

Swift 项目中的 C 代码