在我的角度数据服务中,我尝试发出两个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}))
}
编辑:我没有订阅第二个请求。我不知道你必须订阅你所做的每个请求,即使它们在同一个代码块中
答案 0 :(得分:3)
您还需要subscribe
到http.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)
})
}
}