swift - 创建一个包含可执行代码的 void Promise

标签 swift promisekit

我需要使用 PromiseKit 将一些代码包装在 promise 中。我可以像这样创建一个无效的 promise :

let promise = Promise(value:()) // Void promise. 

但这立即得到解决,因为我想返回一个空 promise ,其中包装了一些作为正常 promise 链的一部分执行的代码。我可以这样做:

let promise = Promise<Void> {fulfilled, _ in
    // Here is where I do stuff.
    fulfill()
}

但这感觉有点笨拙。

是否有更简洁的方法来生成执行代码的 void Promise?

最佳答案

我也这样做。我认为这是唯一现有的方法。如果您不想创建 Promise 对象,您可以执行以下操作:

self.client.delete(device: device)
    .then { result -> Promise<Void> in
         // do something with result
         return Promise(value: ())
    }
    .catch {
         // handle
}

关于swift - 创建一个包含可执行代码的 void Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45828979/

相关文章:

swift - 取消嵌套 Promise 发出警告 : "pending promise deallocated"

swift - PromiseKit:resolve 方法要求 String 和 Void 等价

ios - 无法打开 Promise<[CLPlacemark]>

swift - 安装 cocoapods 时遇到 Hello A ssl 问题

ios - AVPlayerViewController 完成时淡出

swift - 无法将类型 'child' 的返回表达式转换为返回类型 T

ios - 如何在 swift 中从树数据结构制作 UIButtons

ios - UIDatePicker 值与显示的日期不匹配

ios - Swift - 带循环的多个链 http 请求

ios - Swift - didReceiveRemoteNotification - PromiseKit