通常情况下,这是由于异步请求未正确返回数据所引起的。以下是解决方法的示例代码:
在service.ts 文件中:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class DataService {
constructor(private http: HttpClient) { }
getData(): Observable {
return this.http.get('https://myapi.com/data')
.map(response => response.json());
}
}
在component.ts 文件中:
import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
data: any;
constructor(private dataService: DataService) { }
ngOnInit() {
this.getData();
}
getData() {
this.dataService.getData().subscribe(data => {
this.data = data;
console.log(this.data);
});
}
}
代码中,我们使用了 Angular 提供的 HttpClient 客户端来发送异步请求,getData() 方法会返回一个 Observable 对象。在 component.ts 文件中,我们订阅了这个 Observable 对象,并将返回的值存储在 data 变量中。
如果有错误,代码会显示在控制台中。如果没有错误,并且数据可用,则应该打印出请求到的数据。
下一篇:Angular异步请求加载不及时