【发布时间】:2017-11-01 09:26:03
【问题描述】:
在调用方法中,我需要从该方法的返回值中提取一个类别数组(Category[])。我该怎么做呢。我跟不上承诺。
getCategories() : Promise<Category[]> {
return this.http.get(this.categoriesUrl).toPromise()
.then(response => response.json().data as Category[])
.catch(this.handleError);
}
如何从上述 getCategories() 方法的结果中提取特定类别?这不起作用。
getCategory(id: string): Category {
return this.getCategories()
.filter((category: Category, index: number, array: Category[]) => {
return category.id === id;
});
}
【问题讨论】:
-
你不能,你需要等待它。并在承诺之前加快速度:-)
-
你可能应该做
.then(response => response.json()).then(json => json.data),以防.json()方法返回一个promise
标签: angular asynchronous promise