使用res.json()
时,我尝试打印任务,使用res.tasks
时,我什么也没得到。我遇到另一个错误,仅显示新错误,不显示旧错误,并且如果重新加载页面,那么新错误也会被删除。
task.ts
....
loadTasks(): Promise<Task[]> {
const url = `${this.tasksUrl}?access_token=${localStorage.getItem('token')}`;
return this.http.get(url)
.toPromise()
.then(res => res.tasks as Task[]) // res.json()
.catch(error => this.handleError(error, 'Could not load tasks!'));
}
....
错误终端:
ERROR in src/app/services/task.ts(30,24): error TS2339: Property 'tasks' does not exist on type 'Response'.
错误控制台浏览器:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'constructor' of undefined
TypeError: Cannot read property 'constructor' of undefined
at FilterByFieldPipe.push../src/app/pipes/filter-by-field.ts.FilterByFieldPipe.transform (filter-by-field.ts:10)
和filter-by-field.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterByField',
pure: false
})
export class FilterByFieldPipe implements PipeTransform {
transform(items, key, value) {
if (items.constructor === Array) {
return items.filter((item) => item[key] === value);
}
}
}