Rx.Observable.returnValue如何在一段时间后返回值?

时间:2013-10-31 09:43:58

标签: rxjs

Rx.Observable.returnValue将调度程序作为第二个参数。我想在一段时间之后返回它应该是这样的

Rx.Observable.returnValue(value, Rx.Scheduler.timeout.scheduleRelative(5000));

但是第二个参数应该只是Rx.Scheduler.timeout,这对我没有意义,因为所有调度程序currentThread,immediate或timeout都会立即返回值。

所以我有两个问题:

  • 一段时间后如何返回值?
  • 为什么我们需要returnValue中的调度程序参数?

1 个答案:

答案 0 :(得分:1)

虽然我需要更多时间来弄清楚调度程序不适合你的原因,但你可以使用delay运算符将通知延迟一定的毫秒数。

Rx.Observable.returnValue(value).delay(5000);

通常,除非您需要对发送通知的时间和方式进行非常高级的控制,否则RxJS中不需要Schedulers。在Rx.NET中需要Schedulers更为常见。

我相信很多调度程序都会被删除用于 lite 版本的RxJS,因为它们通常不需要。