假设您的承诺链中有一个分支,它可以不返回任何内容,也可以返回AnyObject承诺。您将指定什么作为“然后”闭包的返回类型?例如:
func sample() -> Promise<AnyObject> {
return Promise { fulfill, reject in
fulfill(1)
}
.then { _ -> Void in
if false {
return Promise { fulfill, reject in
fulfill(0)
}
}
}
}如果我将Void作为“然后”闭包的返回类型,则会出现一个seg错误;如果我将诺言作为返回类型,则会得到一个错误:
missing return in a closure expected to return Promise<AnyObject>有什么建议吗?
谢谢
发布于 2016-05-28 02:53:45
基于代码示例,我认为没有理由返回AnyObject。如果您想可选地返回Void或对象,那么就做出包含可选内容的承诺。
func sample() -> Promise<AnyObject?> {
return Promise { fulfill, reject in
functionForGettingObjectWithCallback() { result: AnyObject? in
fulfill(result)
}
}
}https://stackoverflow.com/questions/37200108
复制相似问题