Dot-Net
使用 Rx 框架按時間間隔立即啟動任務
我正在嘗試立即執行我的任務,然後按時間間隔執行它。我寫了以下內容:
var syncMailObservable = Observable.Interval(TimeSpan.FromSeconds(15)); syncMailObservable.Subscribe(s => MyTask());問題是任務僅在 15 秒後開始。我需要在開始時執行我的任務,然後按時間間隔繼續。
我該怎麼做?
你可以這樣做:
var syncMailObservable = Observable .Interval(TimeSpan.FromSeconds(15.0), Scheduler.TaskPool) .StartWith(-1L); syncMailObservable.Subscribe(s => MyTask());
嘗試這個:
Observable.Return(0).Concat(Observable.Interval(TimeSpan.FromSeconds(15))) .Subscribe(_ => MyTask());