c# - 动态延迟 IObservable 值的延迟函数

标签 c# .net datetime delegates system.reactive

[ 这个问题是关于 IObservable / Rx ]

工作固定延迟

var frequency = TimeSpan.FromMinutes(5);
Result.Delay(frequency).Subscribe(i => Debug.WriteLine("After Fixed Delay"));

可变延迟的伪代码

Result.Delay(GetAsymptotingTime()).Subscribe(i => Debug.WriteLine("After Changing Delay"));

当编译变量延迟的代码时,它只被调用一次,只提供第一个值(本质上是一个固定值)。

  • 如何在 Reactive Extensions 中使用动态延迟订阅?

最佳答案

看起来有一个新的 .Delay 重载允许在 RX 本身中使用此功能:

来自 http://blogs.msdn.com/b/rxteam/archive/2012/03/12/reactive-extensions-v2-0-beta-available-now.aspx :

var res = input.Delay(x => Observable.Timer(TimeSpan.FromSeconds(x.Length)));

给定用户输入,它会延迟等于输入长度(以秒为单位)的持续时间。换句话说,每个元素的延迟现在可以取决于数据本身。

关于c# - 动态延迟 IObservable 值的延迟函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10071004/

相关文章:

javascript - 数据库未更新错误 - Entity Framework

c# - c# 类的属性在 visual basic 6.0 中不可见

c# - 了解 .NET 框架的 future

.net - 如何处理一次性元素 list ?

php - 根据日期时间列查询记录

datetime - 在Powershell中创建其他时区的datetime对象

ruby-on-rails - 将时间与 rails 中的时区进行比较

c# - 使用 Entity Framework 重构代码

c# - 在表单中将数据从用户控件 A 传递到用户控件 B

c# - 在 WPF 中,有没有办法制作像 Grid 一样具有对齐列的 StackPanel?