【发布时间】:2018-06-08 10:45:03
【问题描述】:
出于教育目的,我需要在 Angular 2 中模拟来自服务器的长响应。我有代码
getTasks() : Observable<Task[]> {
return this.http.get('data/tasks.json').map(response => {
return response.json();
});
}
// using
getTasks().subscribe(groups => {
this.tasks = groups;
});
并且需要服务器响应至少 1 秒。在 Angular 1.5 中我是这样做的
this.getTasks = function () {
return $http.get("data/tasks.json").then(function (response) {
return $timeout(function () {
return response.data;
}, 1000);
};
}
在 Angular 2 中根据 post 我试过了
getTasks() : Observable<Task[]> {
return this.http.get('data/tasks.json').map(response => {
return Observable.of(response.json()).delay(1000);
});
}
和
getTasks() : Observable<Task[]> {
return this.http.get('data/tasks.json').map(response => {
return Observable.create((obs: Observable<Task[]>) => {
obs.next(response.json());
obs.complete();
).delay(1000);
});
}
但有 TypeScript 编译错误或 getTasks().subscribe 获取和 Observable 而不是任务集合。看来我错过了什么。请帮忙。谢谢你。
【问题讨论】:
标签: angular typescript rxjs observable