无法将 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>> {