Angular连续2次http请求

时间:2017-09-05 04:51:53

标签: angular typescript observable angular-http angular-observable

在我的角度数据服务中,我尝试发出两个http请求,第二个请求取决于第一个请求的数据。第一个请求工作正常,但由于某种原因,第二个请求永远不会到达我的后端服务器。我希望有人能告诉我,我是否正确地做了这件事,或者告诉我我做错了什么。

@Injectable()
export class DataService {

  constructor( private http: Http ) { }

public twoRequest() {
    this.http.get(`http://localhost:3000/1st_request`).subscribe((data) => 
      this.http.post(`http://localhost:3000/2nd_request`, {data: data}))
}

编辑:我没有订阅第二个请求。我不知道你必须订阅你所做的每个请求,即使它们在同一个代码块中

2 个答案:

答案 0 :(得分:3)

您还需要subscribehttp.post。如果您没有subscribe,它将永远不会发出请求。

@Injectable()
export class DataService {

  constructor( private http: Http ) { }

  public twoRequest() {
     this.http.get(`http://localhost:3000/1st_request`).subscribe((data) => 
       this.http.post(`http://localhost:3000/2nd_request`, {data: data}).subscribe(/*...*/));
}

答案 1 :(得分:-1)

public twoRequest() {
        this.http.get(`http://localhost:3000/1st_request`).subscribe((data) => {
            this.http.post(`http://localhost:3000/2nd_request`, {data:data})) 
               .subscribe((resp: any) => {
                 console.log(resp)
             })
           }

    }