rxswift Наблюдаемый не создан - PullRequest
0 голосов
/ 14 апреля 2020

Я всегда использую это

Но

Я подтверждаю, что alamofire работает правильно, Печать не печатается в функции создания.

В чем проблема?

Очень сложно впервые ввести rxswift на этот раз.

    // MARK: YouTube List
        func getYouTubeList(search:String) -> Observable<[YouTubeModel]>{
            var parameters: [String: Any] = [:]
            parameters = [
                "key":key,
                "part":"snippet",
                "q":search,
                "maxResults":20,
                "type":"video",
                "order":"viewCount"
            ]

            return Observable.create { observer -> Disposable in
                print("create")// here is not printed
                print(parameters)// here is not printed
                let dataRequest = self.manager.request("https://www.googleapis.com/youtube/v3/search", method: .get, parameters: parameters, encoding: URLEncoding.default)
                    .validate()
                    .responseJSON(options:.mutableContainers) { response in
                        print(response)
                        switch response.result {
                        case .success:
                            guard let data = response.data else {
                                observer.onError(response.error ?? FailReason.notFound)
                                return
                            }
                            do {

                                let json = try? JSON(data)
                                print(json)
                                observer.onNext([])

                            } catch let error {
                                observer.onError(error)
                            }
                        case .failure(let error):
                            observer.onError(error)
                        }
                        observer.onCompleted()
                }
                return Disposables.create {
            dataRequest.cancel()
        }
            }
        }
...