Store first value of http request with rxjs but keep doing httprequest
It is really hard to solve the problem since the question is not providing all the necessary details.

Assuming you have a factory for your Http observable (call it createHttpObservable()) you may do something like this:

const observable = createHttpObservable()

  // Share the stream of events across all the subscribers.
  .publishReplay(1)
  .refCount()

  // Use `.scan()` against event stream (similarly to how we `.reduce()` against an array).
  .scan(
    (history, currentValue, valueIndex) =&gt; {
      history.push({ num: valueIndex, httpNum: currentValue });
      return history;
    },
    []
  )

  // Take the last event from the `history`
  .map(history =&gt; history[history.length - 1].httpNum)

  // Arbitrarily use `.do` for side effects.
  .do(console.log);


// Subscribe wherever you need.
observable.subscribe();
observable.subscribe();
observable.subscribe();


Here's a related, but not quite the same exact plunkr.

You can have more custom logic in the .scan() block, but frankly, I have no idea what are you trying to achieve and why is the first Http request's results are of any special interest.