创建一个包含可执行代码

时间:2017-08-23 00:49:00

标签: swift promisekit

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

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

但是我立即解决了哪里因为我想返回一个void promise,它包含了一些代码,这些代码作为普通promise链的一部分执行。我可以这样做:

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

但这感觉有点笨重。

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

1 个答案:

答案 0 :(得分:0)

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

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