Nicholas Jamieson
1 min readMay 28, 2018

--

No, takeWhile can leak subscriptions for the same reasons as takeUntil. However, the placement of a takeWhile will affect how it behaves, as it calls the specified callback only when a value is received. So there’s no general rule for where a takeWhile should be placed.

Also, as Stas Rivkin pointed out in his response, takeWhile is less suitable as an indirect unsubscription mechanism. It depends on a value being emitted for the this.isAlive flag to be checked, which means the any unsubscription will occur later than the component’s destruction — if at all.

In you code, you don’t have a subscription to another observable to leak — you’re just mapping the value — but you do have the problem that Stas highlighted.

--

--

Nicholas Jamieson
Nicholas Jamieson

Written by Nicholas Jamieson

RxJS core team member; front-end developer; mentor; speaker; open-source contributor

No responses yet