関数によって返された場合はonNextを送信しないことを観察できますが、それを返す関数でそれをサブスクライブすると、onNextが呼び出されます。
class InfoViewModel {
    func refreshPushToken() {
        PushNotificationService.sharedInstance.pushToken!
                .flatMapLatest { (pushToken: String) -> Observable<Result<User>> in
                    return UserService.registerPushToken(pushToken)
                }
                .subscribe { (event ) in
                    print(event)
                }
                .addDisposableTo(disposeBag)
    }
}
struct UserService {
    ....
    static func registerPushToken(_ pushToken: String) -> Observable<Result<User>> {
        ...
        return self.postUser(user: user)
    }
    static fileprivate func postUser(user: User) -> Observable<Result<User>> {
        let rxProvider: RxMoyaProvider<Backend> = RxMoyaProvider<Backend>(endpointClosure: Backend.endpointClosure)
         return rxProvider.request(Backend.register(user: user))
            .mapObject(type: User.self)
            .map({ (user: User) -> Result<User> in
                LogService.log(level: .debug, action: "postUser", message: "Posted user with success", parameters: ["user": user.deviceId])
                return .success(user)
            })
            .catchError({ error -> Observable<Result<User>> in
                LogService.log(level: .error, action: "postUser", message: "Error posting user", parameters: ["user": user.deviceId, "error": error.localizedDescription])
                return Observable.just(.failure(error))
            })
    }   
}
しかし、私がこれを行う場合
     rxProvider.request(Backend.register(user: user))
     ...
        .subscribe { (event ) in
            print(event)
        }
UserService で、次のイベントを取得します。
InfoViewModel のオブザーバブルで使用しようとしdebug()ましたが、サブスクリプションがあり、イベントを受け取りません。