创建一个包装可执行代码的 void Promise

Creating a void Promise which wraps executable code

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

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

但是我想立即解决这个问题 return 一个无效的承诺,它包装了一些作为正常承诺链的一部分执行的代码。我可以做到:

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
}