首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PromiseKit分支承诺

PromiseKit分支承诺
EN

Stack Overflow用户
提问于 2016-05-13 02:02:47
回答 1查看 561关注 0票数 0

假设您的承诺链中有一个分支,它可以不返回任何内容,也可以返回AnyObject承诺。您将指定什么作为“然后”闭包的返回类型?例如:

代码语言:javascript
复制
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错误;如果我将诺言作为返回类型,则会得到一个错误:

代码语言:javascript
复制
missing return in a closure expected to return Promise<AnyObject>

有什么建议吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-28 02:53:45

基于代码示例,我认为没有理由返回AnyObject。如果您想可选地返回Void或对象,那么就做出包含可选内容的承诺。

代码语言:javascript
复制
func sample() -> Promise<AnyObject?> {
    return Promise { fulfill, reject in
        functionForGettingObjectWithCallback() { result: AnyObject? in
            fulfill(result)
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37200108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档