在Angular 6中,在应用初始化时接收HTTP GET请求,可以使用Angular的HttpClient模块发送GET请求,并在应用初始化时订阅这个请求的结果。
首先,确保已经安装了最新版本的Angular和HttpClient模块。
在你的Angular应用的根模块(一般是app.module.ts)中,导入HttpClient模块和Injectable模块,以及rxjs的Observable和map操作符:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
接下来,在根模块中创建一个服务(service),用来发送HTTP GET请求:
@Injectable()
export class DataService {
constructor(private http: HttpClient) { }
getData(): Observable {
return this.http.get('your-api-url')
.pipe(
map(response => response)
);
}
}
在上面的代码中,我们创建了一个名为DataService的服务,它依赖于HttpClient模块。在构造函数中,我们注入了HttpClient模块,并在getData()方法中使用它来发送HTTP GET请求。
接下来,在根模块中的providers数组中,将DataService添加为提供者:
@NgModule({
...
providers: [DataService],
...
})
export class AppModule { }
现在,我们可以在根组件(一般是app.component.ts)中订阅这个服务的结果,并在应用初始化时接收HTTP GET请求的数据:
import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service';
@Component({
...
})
export class AppComponent implements OnInit {
constructor(private dataService: DataService) { }
ngOnInit() {
this.dataService.getData().subscribe(data => {
// 在这里处理接收到的数据
console.log(data);
});
}
}
在上面的代码中,我们在AppComponent组件的ngOnInit()生命周期钩子中订阅了DataService服务的getData()方法,并在回调函数中处理接收到的数据。
最后,确保在根模块中引入了HttpClientModule:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
...
imports: [HttpClientModule],
...
})
export class AppModule { }
这样,当应用初始化时,就会发送HTTP GET请求,并接收到返回的数据。