title: Angular: return value from forkJoin inside pipe of other observable
body: <p>This is my scenario I need to implement:</p>
  <ol>
  <li>I call an API which returns a response with an array of objects</li>
  <li>I map those objects to another array of objects</li>
  <li>For each item of this new array of objects, I need to call another API call</li>
  <li>The response of the second call must set a value in each object of my array I created in 2.</li>
  <li>I want to return an observable with the array of objects from 4.</li>
  </ol>
  <p>So far I've been able to create the following:</p>
  <pre><code>public getWishlist ( receiver : Person) : Observable&lt;Wish[]&gt;{
      return this.http$.get&lt;IWishlistResponse[]&gt;(environment.apiUrl + 'wishlist/' + receiver.id).pipe(
        map( (response) =&gt; {
          let wishes: Wish[] = [];
          response[0].wishes.forEach((wish) =&gt; {
            wishes.push(new Wish(
              wish._id,
              wish.title,
              wish.price,
              null,
              wish.url
            ));
          });
          return wishes;
        }),
        tap( (wishes) =&gt; {
          let wishStateObservables = wishes.map(wish =&gt; this.http$.get&lt;wishStatus&gt;(environment.apiUrl + 'wish/' + wish.id + '/state').pipe(catchError(() =&gt; of(null))));
          forkJoin(wishStateObservables)
            .pipe(
              map(states =&gt; {
                states.forEach((state, index) =&gt; {
                  wishes[index].status = state;
                });
                return wishes;
              })
            ).subscribe((wishes =&gt; { console.log(wishes) }));
        })
      );
  </code></pre>
  <p>The 'wishes' in console.log in subscribe of the forkjoin are the values I want to return in my observable, but I can't get them in this observable.
  <strong>So what should I use instead of the 'tap' operator. to be able to put the results of the forkJoin pipe in the observable I return?</strong></p>