The amb operator

The amb operator emits items from the first observable of two that emits an item first. The following figure shows the marble diagram of this operator:

Figure 9.27: The amb operator

Its prototype is the following:

Observable.amb(self, right_source)

The right_source parameter is the second observable to watch.

Here is an example of the amb operator:

first = Subject()
second = Subject()

first.amb(second).subscribe(
on_next = lambda i: print("on_next {}".format(i)),
on_error = lambda e: print("on_error: {}".format(e)),
on_completed = lambda: print("on_completed")
)

first.on_next(1)
second.on_next(2)
first.on_completed()

In this example, the first observable emits an item before the second observable.

This example gives the following result:

on_next 1
on_completed

The items emitted by the amb operator are those of the first observable because it is the first to emit an item.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.255.87