Я пытаюсь реализовать универсальный метод, который используется для получения данных из вызова API.
Вот мой код.
class Http {
class func asyncGetRequest()->Promise<List> {
return Promise {
resolve in
Alamofire.request(GET_PROFFESSIONAL).responseData().done { response in
guard let blog = try? JSONDecoder().decode(List.self, from: response.data) else {
let error = MyError(message: "Error: Couldn't decode")
resolve.reject(error)
return
}
resolve.fulfill(blog as List)
}.ensure {
}.catch { error in
resolve.reject(error)
}
}
}
}
Я хотел бы сделать универсальный метод для всех запросов. В своем коде я сделал обещание типа Список
и JSONDecoder().decode(List.self)
, здесь я хотел бы сделать динамический тип List . Как мы можем сделать это? Я хотел бы повторно использовать метод asyncGetRequest для всех вызовов API. Я хочу передать URL запроса ( GET_PROFFESSIONAL ) и List тип класса как динамический.