【问题标题】:Creating a void Promise which wraps executable code创建一个包装可执行代码的 void Promise
【发布时间】:2017-08-23 00:49:00
【问题描述】:

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

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

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

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

但这感觉有点笨重。

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

【问题讨论】:

    标签: swift promisekit


    【解决方案1】:

    我也是这样。我认为这是唯一存在的方式。如果您不想创建承诺对象,您可以执行以下操作:

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

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 2016-04-28
      • 2018-08-23
      相关资源
      最近更新 更多