我试图了解.NET Reactive Extensions,我想知道它们是否可以用于以下场景:
在我的WP7应用程序中,我使用SterlingDatabase来保留应用程序设置.当用户正在修改设置时,我想定期打电话Database.Flush()
因此,在我的Property Set方法中,我想启动Database.Flush()计时器事件,并在5秒内写入数据库.如果写入另一个属性,我想重新启动计时器.
我知道我可以用一个定时器对象做到这一点,调用Start()和Stop(),但我想知道如果我能做到这一点,其中Rx,创建一个Asycn操作,我基本上可以开始与停止,不需使用定时器?
使用节流阀:
public void AttachFlushes(IObservable<Unit> writes, SterlingDb db)
{
writes.Throttle(TimeSpan.FromSeconds(5)).Do(_ => db.Flush()).Subscribe();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |