如果我取消注释下面的注释代码,下面的代码会让我感到困惑。如果我评论它,它不起作用。我不知道问题是什么:
func getMostPopularRepositories(byLanguage language: String) -> Observable<[Repository]> {
let encodedLanguage = language.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!
let provider = MoyaProvider<Github>(plugins: [NetworkLoggerPlugin(verbose: true)])
let parameters = [“q”: “language:\(encodedLanguage)“,“sort”: “stars”]
/*
provider.rx
.request(.repositories(parameters))
.map([Repository].self, atKeyPath: “items”)
.subscribe { event in
}.dispose()
*/
let request = provider.rx.request(.repositories(parameters)).asObservable()
// RxSwift.(unknown context at $101ccc3e8).AnonymousObservable<Moya.Response>
print(request)
let pRepos = request.map([Repository].self, atKeyPath: “items”)
// RxSwift.(unknown context at $101ccf26c).FlatMap<Moya.Response, RxSwift.Observable<Swift.Array<RepoSearcher.Repository>>>
print(pRepos)
return pRepos
}
最佳答案
我还没有使用过Moya
。
但似乎您需要 .subscribe
才能使 .request
工作。
关于swift - RxSwift API 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847632/