在Angular 9中,你可以使用forkJoin
操作符来从两个Observables中返回嵌套对象。下面是一个示例代码:
import { Component, OnInit } from '@angular/core';
import { Observable, forkJoin } from 'rxjs';
@Component({
...
})
export class YourComponent implements OnInit {
ngOnInit(): void {
const observable1: Observable = ...; // 第一个Observable
const observable2: Observable = ...; // 第二个Observable
forkJoin([observable1, observable2]).subscribe(([result1, result2]) => {
const nestedObject = {
property1: result1,
property2: result2
};
console.log(nestedObject);
});
}
}
在上面的示例中,我们使用forkJoin
操作符来组合两个Observable。当两个Observables都完成时,forkJoin
将返回一个包含两个结果的数组。我们可以使用解构赋值语法来获取这两个结果,并将它们放入一个嵌套对象中。最后,我们可以在subscribe
方法中打印出这个嵌套对象。
请注意,forkJoin
操作符只有在两个Observables都完成时才会发出结果。如果其中一个Observable发出错误,或者它们之一永远不会完成,那么forkJoin
将不会返回任何结果。你可以根据需要使用catchError
操作符来处理错误情况。