title: Authenticate then retry with interceptor & ngrx store events
body: <p>I have the following code in an interceptor:</p>
  <pre><code>intercept(request: HttpRequest&lt;any&gt;, next: HttpHandler): any {
      return next.handle(request).pipe(
        catchError(async error =&gt; {
          if (error instanceof HttpErrorResponse &amp;&amp; (error.status === 302 || error.status === 401 || error.status === 403)) {
            this.store.dispatch(new Authenticate());
            try {
              await firstValueFrom(this.store.pipe(
                select(selectAuthCallState),
                filter(state =&gt; state === ProcessState.COMPLETED),
                take(1)
              ));
            } catch (err) {
              return throwError(async () =&gt; new Error(error.message));
            }
          }
          return next.handle(request);
        })
      );
    }
  </code></pre>
  <ol>
  <li>When a HTTP request is getting a 401 error (for instance), it gets into the <code>catchError</code> block as expected.</li>
  <li><code>this.store.dispatch(new Authenticate());</code> is dispatching an authentication event, which works as expected.</li>
  <li>Then, in order to detect the authentication completion, I'm awaiting the action to finish (by <code>await</code>ing the selector update) - works perfectly.</li>
  <li><strong>I'm then trying to recall the original request (which was rejected by the lack of authentication), and nothing happens.</strong></li>
  </ol>
  <p>What am I doing wrong?</p>
  <p>Thanks!</p>