#1549·RxJS

[rx-lite] Passing a non-natural number to repeat causes infinite loop

Author: edorivaiCreated Mar 8, 2018Updated Mar 8, 2018

Originally posted here: https://github.com/ReactiveX/rxjs/issues/3415, but was told it belongs in this repo.

RxJS version: [email protected]

Code to reproduce:

javascript
const Rx = require('rx-lite');

Rx.Observable.of(1)
	.repeat(2.5)
	.subscribe(i => console.log('onnext: ' + i));

Expected behavior:

Either throw an error, or repeat 2, or 3 times.

Actual behavior:

Repeats infinitely, logs:

onnext: 1
onnext: 1
onnext: 1
onnext: 1
...etc, infinitely

Additional information:

I understand that it doesn't make so much sense to pass a non natural number to repeat. In our case, the repeat count was calculated dynamically, which made it unclear that this was an issue.

I realize this isn't a problem in later (or "non-lite") versions, just leaving this info here for future googlers.

Source: Reactive-Extensions/RxJS