在Angular中的POST请求之后调用GET请求

时间:2018-11-29 04:16:01

标签: javascript angular asynchronous post get

我想在使用Angular进行POST请求后调用GET请求。

这是我到目前为止的代码,这是一个好的解决方案吗?

   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 :(得分:1)

我认为@PardeepJain在告诉

private-playlists

答案 1 :(得分:1)

当然,这是个好方法,因为http是异步调用,因此在这种情况下,最好在http成功块内调用任何功能/代码。

但是,请尽量破坏代码。 与您的用例一样,您可以像这样调用另一个函数并在其中调用get请求-

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)})
}