我最近开始学习RxJS。我正在尝试一下,发现了以下问题。链接接收间隔和延迟
当链接在一起的延迟和时间间隔我会假设每个值将在(间隔+延迟)之后发射,但在这里不是这种情况。更令我感到奇怪的是,当这两个funcs链接在一起时,一些值会同时打印出来,不会有任何延迟。我应该怎么理解它?我错过了什么?
我使用RxJS 5.0.3和我在jsbin工作:https://jsbin.com/xoyuded/edit?js,console
这一个:
Rx.Observable.interval(1000).take(10).subscribe(x => console.log(x));
给出:
21:16:28.335 runner-4.0.2.min.js:1 Console was cleared
21:16:29.757 runner-4.0.2.min.js:1 0
21:16:30.756 runner-4.0.2.min.js:1 1
21:16:31.756 runner-4.0.2.min.js:1 2
21:16:32.756 runner-4.0.2.min.js:1 3
21:16:33.756 runner-4.0.2.min.js:1 4
21:16:34.751 runner-4.0.2.min.js:1 5
21:16:35.755 runner-4.0.2.min.js:1 6
21:16:36.751 runner-4.0.2.min.js:1 7
21:16:37.751 runner-4.0.2.min.js:1 8
21:16:38.751 runner-4.0.2.min.js:1 9
这一个:
Rx.Observable.interval(1000).take(10).delay(1000).subscribe(x => console.log(x));
g艾夫斯:
runner-4.0.2.min.js:1 Console was cleared
21:17:42.749 runner-4.0.2.min.js:1 0
21:17:42.750 runner-4.0.2.min.js:1 1
21:17:43.752 runner-4.0.2.min.js:1 2
21:17:44.753 runner-4.0.2.min.js:1 3
21:17:45.753 runner-4.0.2.min.js:1 4
21:17:47.751 runner-4.0.2.min.js:1 5
21:17:47.752 runner-4.0.2.min.js:1 6
21:17:49.748 runner-4.0.2.min.js:1 7
21:17:49.749 runner-4.0.2.min.js:1 8
21:17:51.748 runner-4.0.2.min.js:1 9
使用RxJS版本和您发布的代码,我没有看到您描述的行为。与您的控制台输出相反,使用第二个代码段的repro发出的值相隔一秒,第一个值在订阅后两秒发出。 – cartant
感谢您抽出时间@cartant。我不确定这里有什么问题。也许在定时器工作方面有些不一致? –
你可以发布jsbin吗? – morganfree