Ios 从PromiseKit中的完成处理程序返回承诺
我有以下问题:Ios 从PromiseKit中的完成处理程序返回承诺,ios,swift,asynchronous,promise,promisekit,Ios,Swift,Asynchronous,Promise,Promisekit,我有以下问题: func doSomething() -> Promise<Bool> { let completionHandler = { (result: Bool) in // How can I fulfill the promise here -- Promise { fulfill, _ in fulfill(result) } } someLibrary.doSomeTasks(handler: completionHandler)
func doSomething() -> Promise<Bool> {
let completionHandler = { (result: Bool) in
// How can I fulfill the promise here -- Promise { fulfill, _ in fulfill(result) }
}
someLibrary.doSomeTasks(handler: completionHandler)
// What do I return for this function?...
}
目前我不知道返回什么/如何返回承诺,因为bool值在完成处理程序完成之前不可用。someLibrary.doSomeTasks不支持PromiseKit,因此我只能使用如图所示的完成处理程序。谢谢 这是做你想做的事情的一般形式:
func doSomething() -> Promise<Bool> {
return Promise { fulfill, reject in
someLibrary.doSomeTask(handler: { value in
fulfill(value)
})
}
}
这已在promiseKit 6中更新为:
func doSomething() -> Promise<Bool> {
return Promise<Bool> { seal in
someLibrary.doSomeTask(handler: { value in
seal.fullfill(value)
// we also have seal.reject(error), seal.resolve(value, error)
})
}
}