Reactive-Extensions / RxJS

The Reactive Extensions for JavaScript
http://reactivex.io
Other
19.49k stars 2.1k forks source link

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

Open edorivai opened 6 years ago

edorivai commented 6 years ago

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

RxJS version: rx-lite@4.0.8

Code to reproduce:

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.