使用 RX (Reactive Extensions) 创建 20 个延迟 30 毫秒的事件
Using RX (Reactive Extensions) to create 20 events with 30 millisecond delay
我想制作一个快速触发代码,它会以 30 毫秒的间隔调用我 20 次函数。
这是我目前尝试过的方法:
Observable.Repeat(20).Delay(TimeSpan.FromMilliseconds(30)).Subscribe()
这对我来说似乎是合乎逻辑的解决方案,但我的应用程序崩溃了,我认为这是因为它永远不会停止。
如何使用 UniRx 实现此目的?
https://rx.codeplex.com/
看起来你想要Observable.Interval
and Observable.Take
。
Observable.Interval(TimeSpan.FromMilliseconds(30)).Take(20)
此外,您使用的方法并没有按照您认为的那样进行。在尝试之前,您应该阅读文档。
observable.Repeat(20)
只是为每个订阅的观察者重复调用 observer.OnNext(20)
,直到永远。
observable.Delay(TimeSpan.FromMilliseconds(30))
只是将整个序列时间偏移了 30 毫秒。
我想制作一个快速触发代码,它会以 30 毫秒的间隔调用我 20 次函数。
这是我目前尝试过的方法:
Observable.Repeat(20).Delay(TimeSpan.FromMilliseconds(30)).Subscribe()
这对我来说似乎是合乎逻辑的解决方案,但我的应用程序崩溃了,我认为这是因为它永远不会停止。
如何使用 UniRx 实现此目的? https://rx.codeplex.com/
看起来你想要Observable.Interval
and Observable.Take
。
Observable.Interval(TimeSpan.FromMilliseconds(30)).Take(20)
此外,您使用的方法并没有按照您认为的那样进行。在尝试之前,您应该阅读文档。
observable.Repeat(20)
只是为每个订阅的观察者重复调用observer.OnNext(20)
,直到永远。observable.Delay(TimeSpan.FromMilliseconds(30))
只是将整个序列时间偏移了 30 毫秒。