无法将 return 类型 Promise (_,_) -> DataRequest 的表达式转换为 return 类型 Promise<DataResponse,AnyObject>>
Cannot convert return expression of type Promise (_,_) -> DataRequest to return type Promise<DataResponse,AnyObject>>
无法将 return 类型 Promise (,) -> DataRequest 的表达式转换为 return 类型 Promise>
我的职能是
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<AnyObject>> {
var request = URLRequest(url: URL(string: url)!)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try! JSONSerialization.data(withJSONObject: parameters)
return Promise { fulfill, reject in
manager.request(request)
.responseJSON { response in
fulfill(response)
}
我在 return Promise 行上收到此错误。如何转换?
我尝试将我的 return 签名更改为 Promise<DataRequest, Error
并在该行出现编译错误,Promise 过于专业化,有 2 个参数而不是 1 个参数。
问题出在 fulfill
上,因为它需要参数 DataResponse<AnyObject>
,但您传递的是 DataResponse<Any>
。
将 postJson
方法的 return 类型更改为 Promise<DataResponse<Any>>
应该可以解决您的问题。
更改此行
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<AnyObject>> {
到
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<Any>> {
无法将 return 类型 Promise (,) -> DataRequest 的表达式转换为 return 类型 Promise>
我的职能是
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<AnyObject>> {
var request = URLRequest(url: URL(string: url)!)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try! JSONSerialization.data(withJSONObject: parameters)
return Promise { fulfill, reject in
manager.request(request)
.responseJSON { response in
fulfill(response)
}
我在 return Promise 行上收到此错误。如何转换?
我尝试将我的 return 签名更改为 Promise<DataRequest, Error
并在该行出现编译错误,Promise 过于专业化,有 2 个参数而不是 1 个参数。
问题出在 fulfill
上,因为它需要参数 DataResponse<AnyObject>
,但您传递的是 DataResponse<Any>
。
将 postJson
方法的 return 类型更改为 Promise<DataResponse<Any>>
应该可以解决您的问题。
更改此行
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<AnyObject>> {
到
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<Any>> {