创建一个包装可执行代码的 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
}
我需要使用 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
}