Swift 如何将承诺中的修改结果作为承诺返回
我正在使用PromiseKit6和Alamofire的扩展。在下面的函数中,我希望返回Swift 如何将承诺中的修改结果作为承诺返回,swift,promisekit,Swift,Promisekit,我正在使用PromiseKit6和Alamofire的扩展。在下面的函数中,我希望返回Promise(我使用swiftyJson),但alamofire调用的响应是一个包含元组的Promise:Promise 当我从第一个示例中得到它时,我如何继续只返回json部分?谢谢:) 我还遇到了以下错误:无法将“Promise”类型的返回表达式转换为返回类型“Promise” 行:}。然后,{arg in…您应该将任何内容转换为JSON,尝试此操作(未测试),但文档中说您可以使用map/compactM
Promise
(我使用swiftyJson),但alamofire调用的响应是一个包含元组的Promise:Promise
当我从第一个示例中得到它时,我如何继续只返回json部分?谢谢:)
我还遇到了以下错误:无法将“Promise”类型的返回表达式转换为返回类型“Promise”
行:
}。然后,{arg in…
您应该将任何内容转换为JSON,尝试此操作(未测试),但文档中说您可以使用map/compactMap
我正在使用promisekit alamofire扩展,因此当调用responseJSON()时,请求将返回类型为:
promise
的承诺关于它,我更新了问题我认为这是一个编译器类型的问题,但是你能试试我更新的语法吗?你可以试着推断承诺类型,好吧,我要试试它是怎么回事?对我来说,这是个问题,但首先必须删除中的。
return firstly {
self.requestClient.request(url, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON()
}.then { arg in
let (json, rsp) = arg
return json
}
return firstly {
self.requestClient.request(url, method: .get, parameters: nil,
encoding: JSONEncoding.default, headers: nil).responseJSON()
}.compactMap { data, rsp in
return data as? JSON
}