angular - 多个重复数据点 - Angularjs Rxjs 订阅未按预期工作
问题描述
我已经为此苦苦挣扎了几天,似乎无法理解我做错了什么。我必须使用 SOMENUMBERHERE 访问一个看起来像这样的 URL,可能在后端添加了新点。
https//myURL/globalData/SOMENUMBERHERE/DATAFORNUMBERSELECTED
我可以用我正在做的事情来访问它,但输出会多次提取相同的数据。应该只有 50 个数据点,但我收到接近 100 个。我不熟悉如何在前端逐步执行代码,所以我一直在尝试 console.log 一切。我似乎无法找到解决方案。
我在我的 service.ts 文件中有这个从服务器获取数据。获取数字列表的第一种方法和将该数字添加到 url 末尾的第二种方法
getData(): Observable<any>{
return this.http
.get<any>(this.myGlobalChainURL)
.pipe(res => res);
}
getGlobalData(resultNum): Observable<any>{
return this.http
.get<any>(this.myGlobalChainURL + resultNum)
.pipe(res => res);
}
我填充图表的代码如下所示:
this.apiService.getData().subscribe(result => {
result.forEach(element => {
this.apiService.getGlobalData(element).subscribe(res => {
this.timeStamp.push(moment(res.Timestamp * 1000).format('HH:MM'));
this.systemSix.push(res.FStates.LStates[0].Forms);
//pass values to chart and draw it in chart function
this.createChart(this.timeStamp, this.systemSix);
});
});
});
我不明白的是,这确实有效,但由于某种原因,我得到了重复的数据点。当我记录时间戳时,我得到的输出看起来像这样。
我收到的回复:
20:01, 20:01, 22:01, 23:01
预期反应:
20:01, 22:01, 23:01
如果您能指出我正确的方向,我将不胜感激。
解决方案
推荐阅读
- angular - InnerHtml 注入带有相对 href 的静态 html
- python - Plotly:如何在子图中添加箭袋?
- reactjs - 我们如何在 react-admin 中设置 React RRule Generator 的默认值?
- c++ - OpenCL 内存带宽/合并
- c# - 需要 for 循环而不是嵌套的 if 语句
- flutter - 如何创建卷曲页面
- python - 在Django中获取外键的所有外键
- puppeteer - 使用 puppeteer 从匿名函数中提取 JSON 数据
- webpack - Webpack 4 和 Pug 不显示图像
- laravel - 我收到对未定义方法 App\Models\User::identifiableAttribute() 的 BadMethodCallException 调用