RxJS - 实用操作符 timeout



如果给定 timeout 之后源 Observable 没有发送一个值,这个操作符将抛出一个错误。

语法

timeout(timeout: number | Date): Observable

参数

timeout − 输入是 timeout;它可以是 number 类型的 timeout,也可以是源 Observable 必须发送值的时间 timeout 的 Date 类型。

返回值

返回 Observable,它将根据给定的 timeout 停止。

示例

import { of, interval } from 'rxjs';
import { filter, timeout } from 'rxjs/operators';
let list1 = interval(1000);
let final_val = list1.pipe(timeout(new Date("October 01, 2019 10:40:00")));
final_val.subscribe(
   x => console.log(x),
   e => console.log(e),
   () => console.log("Task complete")
);

Observable interval 将继续运行,timeout 将指定为 new Date (“October 01, 2019 10:40:00”),所以在那个时间,timeout 将会发生,它会抛出一个错误,如下所示。

输出

timeout Operator
广告