Cannot convert return expression of type Promise (,) -> DataRequest to return type Promise>
my function is
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)
}
And I get this error on the return Promise line. How do I convert ?
I tried changing my return signature to Promise<DataRequest, Error
and get a compile error on that line that Promise is too specialized with 2 parameters instead of 1.
Problem is with
fulfill
because it's expecting parameterDataResponse<AnyObject>
but you are passingDataResponse<Any>
.Changing return type of your
postJson
method toPromise<DataResponse<Any>>
should solve your problem.Change this line
to