您可以使用Angular的HttpClient模块来发出HTTP请求,并使用RxJS的concatMap操作符将响应拼接到数组中。以下是一个示例代码:
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { concatMap } from 'rxjs/operators';
@Component({
selector: 'app-example',
template: `
Response Array:
- {{ response }}
`,
})
export class ExampleComponent implements OnInit {
responseArray: any[] = [];
constructor(private http: HttpClient) {}
ngOnInit() {
const requests = new Array(10).fill('').map(() => this.http.get('https://api.example.com/data'));
requests
.reduce((chain, request) => chain.pipe(concatMap(() => request)), this.http.get('https://api.example.com/data'))
.subscribe((response: any) => {
this.responseArray.push(response);
});
}
}
在上面的示例中,我们首先创建一个包含10个请求的数组。然后,我们使用reduce方法将每个请求连接在一起,并使用concatMap操作符将它们依次发出。最后,我们订阅每个请求的响应,并将其添加到responseArray数组中。
请确保在使用此示例之前导入HttpClientModule并将其添加到您的应用程序的根模块的imports数组中。