2017-11-07 14 views
0

Moya를 통해 네트워크 요청을 시작하려고합니다.RxSwift/Moya - 기능을 통해 반환 된 경우 시퀀스가 ​​시작되지 않습니다.

let provider = MoyaProvider<User>() 

    provider.rx.request(.Auth(username: username, password: password)) 
     .filterSuccessfulStatusAndRedirectCodes() 
     .debug() 
     .mapOptional(to: Authentication.self) 
     .observeOn(MainScheduler.instance) 
     .subscribe { 
      event in 
      print(event) 
     }.disposed(by: disposeBag) 

내가 위와 같은 방법으로하면 모든 것이 올바르게 작동합니다.

그러나 나는 이런 식으로 할 경우 :

func logIn(username: username, password: password) -> Single<Authentication?> { 

    let provider = MoyaProvider<User>() 

    return provider.rx.request(.Auth(username: username, password: password)) 
     .filterSuccessfulStatusAndRedirectCodes() 
     .debug() 
     .mapOptional(to: Authentication.self) 
} 

을하고 함수 호출 :

self.loginIn(username: username, password: password) 
     .observeOn(MainScheduler.instance) 
     .subscribe { 
      event in 
      print(event) 
     } 
     .disposed(by: disposeBag) 

이 가입 얻을 디버그 출력 상태를,하지만 시퀀스 경우를 시작할 것이다 나는 함수를 통해 그것을 반환합니다.

답변