无法将typesPromise(_,_) – > DataRequest的返回expression式转换为返回typesPromise <DataResponse,AnyObject >>
无法将typesPromise( , ) – > DataRequest的返回expression式转换为返回typesPromise>
我的function是
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) }
我在返回Promise行时遇到这个错误。 我如何转换?
我试图改变我的返回签名Promise<DataRequest, Error
并得到一个编译错误,该承诺太专门用2参数而不是1。
问题与fulfill
因为它期待参数DataResponse<AnyObject>
但您传递DataResponse<Any>
。
将postJson
方法的返回types更改为Promise<DataResponse<Any>>
应该可以解决您的问题。
改变这一行
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<AnyObject>> {
至
func postJson(_ url: String, parameters: [String: String]) -> Promise<DataResponse<Any>> {