вызов GET-запроса после POST-запроса в Angular - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу вызвать GET-запрос после POST-запроса, используя Angular.

Вот код, который у меня есть, это хорошее решение?

   update(){
     this.http.post<any>("/ssservice", "products=" + body, options)
       .suscribe({
         complete: () => {
           this.http.get<Product[]>("/ssservice")
             .suscribe({
               (data: Product[]) => products.push(...data),
               err => console.log(err)})
         }
       });
    }

Любая помощьочень ценится.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Да, конечно, это хороший подход, так как http - это асинхронный вызов, поэтому в этом случае лучше вызывать любой функционал / код в блоке успеха http.

Но постарайтесь взломать свой код как можно больше.Как и в вашем случае использования, вы можете вызывать другую функцию и вызывать запрос там внутри, как это -

update(){
     this.http.post<any>("/ssservice", "products=" + body, options)
       .suscribe(
         complete: () => {
           this.anotherGetReuqest();
         });
    }

anotherGetReuqest() {
this.http.get<Product[]>("/ssservice")
   .subscribe({(data: Product[]) => products.push(...data),
    err => console.log(err)})
}
0 голосов
/ 29 ноября 2018

Я думаю, что @PardeepJain говорит

update(){
  this.http.post<any>("/ssservice", "products=" + body, options)
    .suscribe({
      complete: () => {
        this.getProduct()
      },
    });
}

getProduct () {
  this.http.get<Product[]>("/ssservice")
    .subscribe({
      (data: Product[]) => products.push(...data),
       err => console.log(err)})
}
...