错误处理操作符、过滤器

Error Handling Operators

这儿有不同种类的错误操作符,你可以用来对来自Obseravble的错误通知做出反应或者恢复。例如,你可以:

  1. 吞下这个错误且转换到备用的Obseravble去继续这个序列

  2. 吞下这个错误且发射一个默认的item

  3. 吞下这个错误且立即尝试重启错误的Obseravble

  4. 吞下这个错误且尝试重启错误的Obseravble在一些回退间隔之后

下面解释这些操作符。

  • onErrorResumeNext( )— 指示一个Obseravble发射一系列的item 如果它遇到了一个错误
  • onErrorReturn( )— 指示一个Obseravble发射一个特殊的item当它遇到一个错误。
  • onExceptionResumeNext( )— 指示一个Obseravble继续发射item在它遇到一个异常后(但不是另一种的异常)
  • retry( )— 如果一个源Obseravble发射一个错误,重新订阅它希望它将不出错的完成。
  • retryWhen( )— 如果一个源Obseravble发射一个错误,把这个错误传给另一个Obseravble去判定是否重新订阅该Obseravble。

Filtering Observables

下面展示一些你可以过滤和选择被Obseravble发射的item的操作符。

  • filter( )— 过滤杯一个Obsreavble发射的item
  • takeLast( )— 仅仅发射被Observable最后发射的n个item
  • last( )— 仅仅发射被Observable最后发射的一个item
  • lastOrDefault( ) —仅仅发射被Observable最后发射的一个item或者默认值如果源Observable是空的。
  • takeLastBuffer( ) —仅仅发射被Observable最后发射的n个item以一个单一的list item
  • skip( )— 忽略前n个被Observable发射的item
  • skipLast( )— 忽略后n个被Observable发射的item
  • take( )— 仅仅发射前n个被Observable发射的item
  • first( )**** and ****takeFirst( )— 仅仅发射第一个被Observable发射的item或者第一个满足某些条件的item
  • firstOrDefault( )— 仅仅发射第一个被Observable发射的item或者第一个满足某些条件的item,或者一个默认的值如果源Obseravble是空的。
  • elementAt( )— 发射第n个被Observable发射的item
  • elementAtOrDefault( ) —发射第n个被Observable发射的item或者默认的item如果源Obseravble发射的少于n个item
  • sample( )**** or ****throttleLast( )— 发射最近被Observable发射的item在周期时间内。
  • throttleFirst( )— 发射第一个被Obseravble发射的item 在周期时间内
  • throttleWithTimeout( )**** or ****debounce( )— 仅从源Observable发射一个个item在过去了一段特殊的时间,这段时间Observable没有发射任何其他item.
  • timeout( )— 从源Observable发射item,但是发出一个异常如果没有Item被发射在一段特殊时间段内。
  • distinct( )— 去掉重复的被源Obseravble发射的item。
  • distinctUntilChanged( )— 去掉连续重复的被源Obseravble发射的item
  • ofType( )— 仅从特定类型的源Obseravble发射这些item
  • ignoreElements( )— 抛弃被源Obseravble发射的item且仅通过错误和完成的通知。

你可能感兴趣的:(错误处理操作符、过滤器)