Eckige 2 - Mehrere HTTP-Anfrage in der gleichen Zeit

Bin ich tatsächlich arbeiten auf eine Eckige 2-Anwendung, aber ich habe ein paar Probleme. In der Tat, ich habe eine Methode, die Daten aus einer Datenbank. Aber ich versuche, kopieren Sie diese Daten auf einen anderen ein, zu tun, die ich tun müssen, um mehrere HTTP-Requests ( Anfragen Anzahl sind nie die gleichen ).

Hier ist mein migrieren Methode. Zuerst bekomme ich die Daten aus der DB und dann versuche ich Sie zu posten, in der anderen eine

service.getDatas().subscribe( data => {
  let datas = data.json().data; 
  if (datas) {
    let requests = [];
    for (let data of datas) {
      let req = service.addData(data); //addData() return an Observable
      requests.push(req);
    }
    let c: Observable<any> = Observable.forkJoin(requests);
    return c;
  }
});

Oder Wenn ich subribing zu der Methode habe ich keine Antwort von ihm.

Hier ist meine Abonnenten

service.migrateData(targetDB).subscribe(res => {
      console.log(res);
    });

Möchte ich meine Methode für die Rückgabe einer Antwort, wenn alle Daten posten !
Eigentlich, wenn ich den Aufruf der addData () - Methode ist es nicht sogar auslösen der http-Anfrage, nichts passiert. Ich tryed, um einige RxJs Methode wie concat und forkJoin aber nichts. Oder nur ich nicht mit Ihnen.

Hier ist mein addData () - Methode

addData(data) {
    let headers = new Headers({
      'Content-Type': 'application/json'
    });
    headers.append('Authorization', 'Basic ' + btoa('username + ':' + 'password));
    let _data = JSON.stringify({data: data});
    return this.http.post('https://something.com', _data, {headers: headers});
  }

Diese Methode funktioniert sehr gut für andere nutzen Fall.

Vielen Dank für Ihre Hilfe !

Ich denke, Sie müssen zu abonnieren, um eine beobachtbare, bevor es ausgeführt wird. service.addData(data).subscribe()
Wenn ich das mache, forkjoin wird eine Abonnenten-array und nicht einen beobachtbaren array :/ !
Wie über c.subscribe()? github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/...

InformationsquelleAutor A.Roussange | 2016-11-25

Schreibe einen Kommentar