Search code examples
javascriptangularrxjshttp-postdelay

Delay on post request


I need to do some post request but before some of them I need to delay the request. I'm using angular. I tried with pipe(delay(xxx)) and with setTimeout but without success. Could any one suggest a solution?


Solution

  • RxJS delay operator is used to delay the emissions (or in this case the response) from the HTTP request. The HTTP request would be triggered immediately without any delay.

    To induce a delayed request, you'd need to use timer function with switchMap operator.

    Try the following

    timer(5000).pipe(       // <-- delay of 5 seconds
      switchMap(() => this.http.post('some url'))
    ).subscribe(
      ...
    );