Rx.Observable.interval,每个事件的间隔不同

时间:2016-02-18 09:51:26

标签: javascript reactive-programming rxjs reactive-extensions-js

我有很多事件,每个事件必须在前一个事件之后被触发,并且具有特定于此事件的延迟。

Rx.Observable.interval可以提供一个间隔。

有没有办法提供不同的间隔?

2 个答案:

答案 0 :(得分:0)

client.Folders.Inbox.Search("SUBJECT HELLO_", ImapX.Enums.MessageFetchMode.Minimal); 运算符。官方文件是here。简而言之,操作员允许您指定一个序列,您可以在发出每个值时进行调整。它类似于for循环,除了在您选择的时刻异步发出值。

例如,同步for循环:

generateWithRelativeTime

可以转换为由100ms,200ms,300ms

分隔的值序列
for (i=1;i<4; i++) {do something}

通过根据需要调整时间选择器,您可以使值之间的间隔发生变化。

答案 1 :(得分:0)

解决方案是@NiklasFasching提议的修改版本

   Rx.Observable.from(events)
     .concatMap(function(event) { 
        return Rx.Observable.timer(event.delay);
     })
     .subscribe(...)