如何在Angular

时间:2017-12-26 18:37:36

标签: angular charts chart.js

我有这种情况:

此接口表示轴值。

export interface ChartModel {
    HorizontalElement: number,
    VerticalElement: number
}

我可以在一个图中有多个图表,所以我使用这个模型。

import { ChartModel } from "./ChartModel";

export interface ResponseModel {
    PrimaryChart: ChartModel[];
    PreviousQuarterChart1: ChartModel[];
    PreviousQuarterChart2: ChartModel[];
    PreviousQuarterChart3: ChartModel[];
}

现在我有两个返回数据的API服务。其中一个我要打三次电话。如何将所有调用合并到一个服务方法中,该方法只返回一个ResponseModel类型的结果。

我所拥有的是每个服务调用的3个元素,这就是我所谓的ChartModel:

[
    {
        "HorizontalElement": 0,
        "VerticalElement": 150
    },
    {
        "HorizontalElement": 1,
        "VerticalElement": 236
    },
    {
        "HorizontalElement": 2,
        "VerticalElement": 330
    }
]

我想要做的是在一个名为ResponseModel的对象中连接3个响应。 像这样:

[
[{"HorizontalElement":0,"VerticalElement":150},{"HorizontalElement":1,"VerticalElement":236},{"HorizontalElement":2,"VerticalElement":330}],
[{"HorizontalElement":0,"VerticalElement":150},{"HorizontalElement":1,"VerticalElement":236},{"HorizontalElement":2,"VerticalElement":330}],
[{"HorizontalElement":0,"VerticalElement":150},{"HorizontalElement":1,"VerticalElement":236},{"HorizontalElement":2,"VerticalElement":330}]
]

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找Observable.forkJoin方法 (https://www.learnrxjs.io/operators/combination/forkjoin.html) 当您拥有一组可观察对象并且只关心每个可观察对象的最终发射值时,最好使用此运算符。

如果您需要一个例子,请告诉我。