コード例 #1
0
class ChainObservable(Observable):
    def _subscribe(self, observer):
        g = CompositeDisposable()

        def action(scheduler, state):
            observer.on_next(self.head)
            g.add(self.tail.merge_observable().subscribe(observer))

        g.add(current_thread_scheduler.schedule(action))
        return g

    def __init__(self, head):
        super(ChainObservable, self).__init__(self._subscribe)
        self.head = head
        self.tail = AsyncSubject()

    def on_completed(self):
        self.on_next(Observable.empty())

    def on_error(self, e):
        self.on_next(Observable.throw_exception(e))

    def on_next(self, v):
        self.tail.on_next(v)
        self.tail.on_completed()
コード例 #2
0
ファイル: manyselect.py プロジェクト: jesonjn/RxPY
class ChainObservable(Observable):
    def _subscribe(self, observer):
        g = CompositeDisposable()

        def action(scheduler, state):
            observer.on_next(self.head)
            g.add(self.tail.merge_observable().subscribe(observer))

        g.add(current_thread_scheduler.schedule(action))
        return g

    def __init__(self, head):
        super(ChainObservable, self).__init__(self._subscribe)
        self.head = head
        self.tail = AsyncSubject()

    def on_completed(self):
        self.on_next(Observable.empty())

    def on_error(self, e):
        self.on_next(Observable.throw_exception(e))

    def on_next(self, v):
        self.tail.on_next(v)
        self.tail.on_completed()
コード例 #3
0
ファイル: manyselect.py プロジェクト: xyicheng/RxPY
class ChainObservable(ObservableBase):
    def _subscribe_core(self, observer, scheduler=None):
        g = CompositeDisposable()

        def action(scheduler, state):
            observer.on_next(self.head)
            g.add(self.tail.merge_all().subscribe(observer, scheduler))

        g.add(scheduler.schedule(action))
        return g

    def __init__(self, head):
        super().__init__()

        self.head = head
        self.tail = AsyncSubject()

    def on_completed(self):
        self.on_next(Observable.empty())

    def on_error(self, error):
        self.on_next(Observable.throw(error))

    def on_next(self, value):
        self.tail.on_next(value)
        self.tail.on_completed()
コード例 #4
0
ファイル: toasync.py プロジェクト: ninmesara/RxPY
    def wrapper(*args):
        subject = AsyncSubject()

        def action(scheduler, state):
            try:
                result = func(*args)
            except Exception as ex:
                subject.on_error(ex)
                return

            subject.on_next(result)
            subject.on_completed()

        scheduler.schedule(action)
        return subject.as_observable()
コード例 #5
0
ファイル: toasync.py プロジェクト: phaufe/RxPY
        def wrapper(*args):
            subject = AsyncSubject()

            def action(scheduler, state):
                try:
                    result = func(*args)
                except Exception as ex:
                    subject.on_error(ex)
                    return

                subject.on_next(result)
                subject.on_completed()

            scheduler.schedule(action)
            return subject.as_observable()
コード例 #6
0
ファイル: test_asyncsubject.py プロジェクト: zmyer/RxPY
 def action1(scheduler, state=None):
     subject[0] = AsyncSubject()
コード例 #7
0
 def action1(scheduler, state=None):
     nonlocal subject
     subject = AsyncSubject()
コード例 #8
0
ファイル: manyselect.py プロジェクト: jesonjn/RxPY
 def __init__(self, head):
     super(ChainObservable, self).__init__(self._subscribe)
     self.head = head
     self.tail = AsyncSubject()
コード例 #9
0
 def __init__(self, head):
     super(ChainObservable, self).__init__(self._subscribe)
     self.head = head
     self.tail = AsyncSubject()
コード例 #10
0
ファイル: manyselect.py プロジェクト: xyicheng/RxPY
    def __init__(self, head):
        super().__init__()

        self.head = head
        self.tail = AsyncSubject()