gpt4 book ai didi

javascript - 在 ngOnInit 函数中将两个 json 合并为一个 json

转载 作者:行者123 更新时间:2023-11-30 09:11:55 26 4
gpt4 key购买 nike

我有一个 Angular 组件,它在加载时调用 2 个服务方法,这些方法作为返回,以 json 格式返回数据。我想将这两个 json 合并在一起。我确实查看了其他一些线程,发现 Object.assign可用于此目的,但问题是我正在向订阅者函数和 Object.assign 内的对象添加数据。在订阅者函数之外,因此对象在订阅者函数之外是未定义的。这是我的代码

export class UpcomingClassesComponent implements OnInit {

times: ClassTimes = new ClassTimes();
schedule: ClassSchedule = new ClassSchedule();
classes: any;
timing: any;
data: any;

constructor(private router:Router,
private _classService: ClassServiceProxy) {

}

ngOnInit() {
this._classService.GetClassData()
.subscribe((result: any) => {
this.schedule = result;
this.classes = this.schedule;
//console.log(this.classes);
})

this._classService.GetClassTimes()
.subscribe((data: any) => {
this.times = data;
this.timing = this.times;
//console.log(this.timing);
})

let completeData = Object.assign({}, this.classes, this.timing);
console.log(completeData);

}

CompleteData在控制台中返回给我一个对象,没有别的

最佳答案

尝试 forkJoin

 forkJoin([_classService.GetClassTimes(),_classService.GetClassTimes()
]).subscribe((result: any[]) => {

this.schedule = result[0];
this.classes = this.schedule;

this.times = result[1];
this.timing = this.times;

let completeData = {...this.classes, ...this.timing];
console.log(completeData);
})

https://stackblitz.com/edit/angular-2tyv93

关于javascript - 在 ngOnInit 函数中将两个 json 合并为一个 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com