rx.Observable.amb()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(210)

本文整理了Java中rx.Observable.amb()方法的一些代码示例,展示了Observable.amb()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable.amb()方法的具体详情如下:
包路径:rx.Observable
类名称:Observable
方法名:amb

Observable.amb介绍

[英]Mirrors the one Observable in an Iterable of several Observables that first emits an item.

Scheduler: amb does not operate by default on a particular Scheduler.
[中]镜像首先发射一个项目的多个可观察对象中的一个可观察对象。
调度器:默认情况下,amb不会在特定的调度器上运行。

代码示例

代码示例来源:origin: com.netflix.rxjava/rxjava-core

  1. /**
  2. * Mirrors the first Observable (current or provided) that emits an item.
  3. * <p>
  4. * <img width="640" height="385" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/amb.png" alt="">
  5. * <dl>
  6. * <dt><b>Scheduler:</b></dt>
  7. * <dd>{@code amb} does not operate by default on a particular {@link Scheduler}.</dd>
  8. * </dl>
  9. *
  10. * @param t1
  11. * an Observable competing to react first
  12. * @return an Observable that emits the same sequence of items as whichever of the source Observables first
  13. * emitted an item
  14. * @see <a href="https://github.com/Netflix/RxJava/wiki/Conditional-and-Boolean-Operators#amb">RxJava wiki: amb</a>
  15. * @see <a href="http://msdn.microsoft.com/en-us/library/hh229733.aspx">MSDN: Observable.Amb</a>
  16. * @since 0.20
  17. */
  18. public final Observable<T> ambWith(Observable<? extends T> t1) {
  19. return amb(this, t1);
  20. }

代码示例来源:origin: henrymorgen/android-advanced-light

  1. private void amb() {
  2. Observable.amb(Observable.just(1,2,3).delay(2, TimeUnit.SECONDS),Observable.just(4,5,6))
  3. .subscribe(new Action1<Integer>() {
  4. @Override
  5. public void call(Integer integer) {
  6. Log.d(TAG, "amb:"+integer);
  7. }
  8. });
  9. }

代码示例来源:origin: leeowenowen/rxjava-examples

  1. @Override
  2. public void run() {
  3. Observable.amb(Observable.create(new Observable.OnSubscribe<Integer>() {
  4. @Override
  5. public void call(Subscriber<? super Integer> subscriber) {

代码示例来源:origin: CasterIO/RxExamples

  1. @OnClick(R.id.amb_execute)
  2. public void onExecuteClick(final View v) {
  3. killThreads();
  4. Observable.amb(getCustomerFromServerOne(), getCustomerFromServerTwo())
  5. .subscribeOn(Schedulers.io())
  6. .observeOn(AndroidSchedulers.mainThread())
  7. .doOnSubscribe(new Action0() {
  8. @Override
  9. public void call() {
  10. v.setEnabled(false);
  11. }
  12. })
  13. .subscribe(new Subscriber<Customer>() {
  14. @Override
  15. public void onCompleted() {
  16. }
  17. @Override
  18. public void onError(Throwable e) {
  19. Log.d("AMB", e.getMessage(), e);
  20. }
  21. @Override
  22. public void onNext(Customer customer) {
  23. Log.d("AMB", customer.getName());
  24. results.setText(results.getText() + "\n" + customer.getName());
  25. unsubscribe();
  26. v.setEnabled(true);
  27. }
  28. });
  29. }

代码示例来源:origin: akarnokd/akarnokd-misc

  1. @Test
  2. public void test() throws Exception {
  3. Observable<Object> obs1 = Observable
  4. .<Object>just("obs 1 event")
  5. .doOnSubscribe(() -> System.out.println("obs1 sub"))
  6. .doOnUnsubscribe(() -> System.out.println("obs1 unsub"));
  7. Observable<Object> obs2 = Observable
  8. .<Object>just("obs 2 event")
  9. .doOnSubscribe(() -> System.out.println("obs2 sub"))
  10. .doOnUnsubscribe(() -> System.out.println("obs2 unsub"));
  11. Observable
  12. .amb(obs1, obs2)
  13. .subscribe(System.out::println);
  14. Thread.sleep(500);
  15. }
  16. }

代码示例来源:origin: nurkiewicz/rxjava-book-examples

  1. @Test
  2. public void sample_375() throws Exception {
  3. Observable.amb(
  4. stream(100, 17, "S"),
  5. stream(200, 10, "F")
  6. ).subscribe(log::info);
  7. }

相关文章

Observable类方法