示例#1
0
文件: retry.py 项目: jesonjn/RxPY
 def retry(self, retry_count=None):
     """Repeats the source observable sequence the specified number of times
     or until it successfully terminates. If the retry count is not 
     specified, it retries indefinitely.
  
     1 - retried = retry.repeat()
     2 - retried = retry.repeat(42)
 
     retry_count -- [Optional] Number of times to retry the sequence. If not
     provided, retry the sequence indefinitely.
     
     Returns an observable sequence producing the elements of the given 
     sequence repeatedly until it terminates successfully. """
 
     return Observable.catch_exception(Enumerable.repeat(self, retry_count))
示例#2
0
文件: retry.py 项目: jesonjn/RxPY
    def retry(self, retry_count=None):
        """Repeats the source observable sequence the specified number of times
        or until it successfully terminates. If the retry count is not 
        specified, it retries indefinitely.
     
        1 - retried = retry.repeat()
        2 - retried = retry.repeat(42)
    
        retry_count -- [Optional] Number of times to retry the sequence. If not
        provided, retry the sequence indefinitely.
        
        Returns an observable sequence producing the elements of the given 
        sequence repeatedly until it terminates successfully. """

        return Observable.catch_exception(Enumerable.repeat(self, retry_count))
示例#3
0
def catch_exception(self, second=None, handler=None):
    """Continues an observable sequence that is terminated by an exception
    with the next observable sequence.

    1 - xs.catch_exception(ys)
    2 - xs.catch_exception(lambda ex: ys(ex))

    Keyword arguments:
    handler -- Exception handler function that returns an observable
        sequence  given the error that occurred in the first sequence.
    second -- Second observable sequence used to produce results when an
        error occurred in the first sequence.

    Returns an observable sequence containing the first sequence's
    elements, followed by the elements of the handler sequence in case an
    exception occurred.
    """

    if handler or not isinstance(second, Observable):
        return catch_handler(self, handler or second)

    return Observable.catch_exception([self, second])