title: Angular caching parallel requests
body: <p>I have defined an interceptor to cache API responses :</p>
  
  <pre><code>    if (req.method == 'GET') {
          // return cached object if exists
          const cachedResponse = this.cache.get(req) || null;
          if (cachedResponse) {
              return Observable.of(cachedResponse);
          }
  
          // call api and cache result if doesn't exist
          return next.handle(req).do(event =&gt; {
              if (event instanceof HttpResponse) {
                  this.cache.put(req, event)
              }
          });
      }
      return next.handle(req);
  </code></pre>
  
  <p>What is missing here is to don't handle a request if it is pending but wait until the request is ready on cache and return it.</p>
  
  <p>What is the best way to adapt this logic to this issue ?</p>