Angular 2 последовательных http-запроса

В моей службе угловых данных я пытаюсь сделать два 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}))
}

edit: я не подписался на второй запрос. Я не знал, что вы должны подписываться на каждый запрос, который вы делаете, даже если они находятся в одном и том же блоке кода.


person xeroshogun    schedule 05.09.2017    source источник
comment
Возможный дубликат https://stackoverflow.com/questions/41381200/angular-2-http-get-not-getting   -  person AJT82    schedule 05.09.2017
comment
Это немного отличается, так как я делаю два вызова в одном блоке. Я думаю, что этот вопрос будет полезен для других в будущем.   -  person xeroshogun    schedule 06.09.2017


Ответы (2)


Вам также нужно 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(/*...*/));
}
person Suren Srapyan    schedule 05.09.2017

person    schedule
comment
зависимости от фигурных скобок нет, на второй пост он не подписан. Правильно указано @suren - person Sumit Agarwal; 05.09.2017