从数组中的数据执行多个POST请求

时间:2018-12-17 09:24:07

标签: angular rxjs

我有一个包含数据的数组,并且想对每个元素进行一个POST请求。调用从组件some.component.ts到我们称为data.service.ts的数据服务。我正在运行Angular 7.0.3和rxjs 6.3.3

该服务提供了一种从数组中发布数据的方法,如下所示:

import { Observable, of, from } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
...
export class DataService {
   ...
  public postDataArray(dataArray: any[]): any {
    return from(dataArray).pipe(
      mergeMap(data =>
        this.http.post(`http://example.com/myDataEndpoint`, data)
      )
    );
  }
}

我从组件中使用以下方法调用服务方法:

  this.dataService
      .postDataArray(dataArray)
      .subscribe(data => {
        console.log(data);
      });

我已经验证了从组件到服务调用的数据正确传输。

我的问题是

  1. 没有请求发出,即“网络”标签中没有任何反应
  2. 在控制台中或构建时都不会引发错误。

我的猜测是我对HTTPClient或Observables有误解。我根据this article中的mergeMap选项实现了请求。

你能看到我所缺少的吗?

0 个答案:

没有答案