要在Angular 2+中每分钟运行一个服务进行请求,你可以使用setInterval
函数来定时调用服务的方法。以下是一个示例解决方案:
DataService
的服务,用于执行请求操作。在该服务中添加一个方法getData()
,用于执行你要进行的请求操作。import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor(private http: HttpClient) { }
getData() {
// 在这里执行你的请求操作
return this.http.get('https://example.com/api/data');
}
}
DataService
并在构造函数中注入它。import { Component } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
template: 'Data: {{ data }}
'
})
export class AppComponent {
data: any;
constructor(private dataService: DataService) { }
ngOnInit() {
// 每分钟执行一次请求
setInterval(() => {
this.dataService.getData().subscribe((response) => {
this.data = response;
});
}, 60000);
}
}
在上述代码中,ngOnInit
方法中的setInterval
函数将每隔60秒调用一次getData()
方法,并在响应返回后将数据赋值给data
变量。
请注意,你需要在app.module.ts
中将HttpClientModule
添加到imports
数组中,以便使用HttpClient
进行网络请求。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这样,每分钟都会执行一次请求,并将数据显示在模板中。