我有一个包含数据的数组,并且想对每个元素进行一个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);
});
我已经验证了从组件到服务调用的数据正确传输。
我的问题是
我的猜测是我对HTTPClient或Observables有误解。我根据this article中的mergeMap
选项实现了请求。
你能看到我所缺少的吗?