我在编写以下代码时遇到问题:
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 现在是否需要这样做,或者它仍然无法正确推断类型。