簡體   English   中英

使用Observable.merge時,永遠不會調用HTTP請求

[英]When using Observable.merge HTTP requests are never getting called

我正在嘗試使用merge運算符循環http請求。

服務:

addData(data) {
    return this.http
        .post(this.url, data)
        .map(resp => {
            return resp;
        });
}

零件:

    addData(data) {
    if (data.length != 0) {
        let respObs: Observable<Response>[] = [];
        data.forEach(element => {
            respObs.push(this.addService.addData(element));
        });
        Observable.merge(respObs)
            .subscribe(resp => {
                console.log(resp); // Observable object not the Response object is getting logged.
            }, err => {
                console.log(err);
            });
    }
}

使用的版本:

角度:4.3.5
RxJS:5.1.0

選中網絡控制台后,我看到從未進行過HTTP調用,並且記錄了Observable對象,而不是來自HTTP調用的響應。

對於Rxjs 5 ,您需要將Observables作為逗號分隔的列表傳遞。 嘗試這個:

Observable.merge(...respObs)
  .subscribe(resp => {
    console.log(resp); // Observable object not the Response object is getting logged.
  }, err => {
    console.log(err);
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM