使用Rx框架立即启动任务然后按时间间隔启动任务

Was*_*sim 8 .net system.reactive

我正在尝试立即运行我的任务,然后按时间间隔运行它.我写了以下内容:

var syncMailObservable = Observable.Interval(TimeSpan.FromSeconds(15));
syncMailObservable.Subscribe(s => MyTask());
Run Code Online (Sandbox Code Playgroud)

问题是任务仅在15秒后启动.我需要在开始时运行我的任务然后按时间间隔继续.

我该怎么办?

Eni*_*ity 14

你可以这样做:

var syncMailObservable =
    Observable
        .Interval(TimeSpan.FromSeconds(15.0), Scheduler.TaskPool)
        .StartWith(-1L);
syncMailObservable.Subscribe(s => MyTask());
Run Code Online (Sandbox Code Playgroud)