使用 Rx 框架立即启动任务,然后按时间间隔启动
我试图立即运行我的任务,然后按时间间隔运行它。 我写了以下内容:
var syncMailObservable = Observable.Interval(TimeSpan.FromSeconds(15));
syncMailObservable.Subscribe(s => MyTask());
问题是任务仅在 15 秒后启动。我需要在开始时运行我的任务,然后按时间间隔继续。
我该怎么做呢?
I'm trying to run my task immediately, then to run it by time interval.
I wrote the following :
var syncMailObservable = Observable.Interval(TimeSpan.FromSeconds(15));
syncMailObservable.Subscribe(s => MyTask());
The problem is the task starts only after the 15 seconds. I need to run my task at the beginning then to continue by time interval.
How would I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
You could do this:
试试这个:
Try this:
这个问题具体指的是Interval方法,但是Timer方法可以用来干净地完成这个任务。
Timer 方法支持初始延迟(到期时间)。将其设置为零的时间跨度应该立即启动任务,然后在每个时间间隔运行它。
https://msdn.microsoft.com/en -us/library/hh229652(v=vs.103).aspx
This question refers to the Interval method specifically, but the Timer method can be used to accomplish this cleanly.
The Timer method supports an initial delay (due time). Setting it as a time span of zero should start the task at once, and then run it at each interval.
https://msdn.microsoft.com/en-us/library/hh229652(v=vs.103).aspx