1

我在编写以下代码时遇到问题:

    public
    func
    get(organization inSID: String)
        -> Promise<Organization>
    {
        URLSession.showNetworkActivity()
        return firstly
        {
            let req = buildRequest(path: "/api/\(inUUID)", date: inDate, headers: [.organizationSID : inSID])
            self.mgr.request(req).responseJSON()
        }
        .map()
        { inData, inResp in
            return Organization(sid: "")
        }
        .ensure
        {
            URLSession.hideNetworkActivity()
        }
    }

我收到一个错误firstly:对成员“首先(执行:)”的模糊引用

添加import PMKAlamofire到我的文件顶部后,更明确地说,我得到这个来编译:

    public
    func
    get(organization inSID: String)
        -> Promise<Organization>
    {
        URLSession.showNetworkActivity()
        return firstly
        { () -> Promise<(json: Any, response: PMKAlamofireDataResponse)> in
            let req = buildRequest(path: "/api/v2/organizations/\(inSID)", headers: [.organizationSID : inSID])
            return self.mgr.request(req).responseJSON()
        }
        .map()
        { inResp in
            return Organization(sid: "")
        }
        .ensure
        {
            URLSession.hideNetworkActivity()
        }
    }

注意闭包中添加() -> Promise<(json: Any, response: PMKAlamofireDataResponse)>的显式和显式return语句。firstly我不知道 Swift 5 现在是否需要这样做,或者它仍然无法正确推断类型。

4

0 回答 0