Вам необходимо подписаться на наблюдаемое pRepos, чтобы отправить сетевой запрос, поскольку наблюдаемое ожидает, пока наблюдатель не подпишется на него, прежде чем он начнет излучать элементы, и начнет передавать значения наблюдателям при вызове подписки.
Так что в вашем случае
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”]
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
}
// код, который подписывается на Observable <[Repository]>
let disposeBag = DisposeBag()
let popularReposObservable: Observable<[Repository]> = getMostPopularRepositories(byLanguage: "English")
popularReposObservable
.observeOn(MainScheduler.instance)
.subscribe(onNext: { (popularRepos: [Repository]) in
print(popularRepos)
})
.disposed(by: disposeBag)