Untitled
unknown
swift
3 years ago
1.1 kB
8
Indexable
class ApiManager {
func getUsers<T:Decodable>(urlstr : String)-> Observable<T> {
return Observable.create { observer in
Observable.of(urlstr)
.map{ str -> URL in
return URL(string: str)!
}
.map { url in
return URLRequest(url: url)
}
.flatMap{ request in
return URLSession.shared.rx.response(request: request)
}
.filter({ (response: HTTPURLResponse, data: Data) in
//error is here: Type '()' cannot conform to 'ObservableConvertibleType'
return 200..<300 ~= response.statusCode
})
.flatMap { _,data in
do {
let users = try JSONDecoder().decode([Albums].self, from: data)
observer.onNext(users)
}catch{
observer.onError(error)
}
observer.onCompleted()
}
return Disposables.create()
}
}
}
Editor is loading...