我遵循了英雄之旅指南,但已经决定Observables比承诺更好但是我在实施它们时遇到了麻烦。
这是我的食谱服务:
import { of } from 'rxjs/Observable/of';
...
getRecipes(): Observable<Recipe[]> {
return of(RECIPES);
}
getRecipe(id: number): Observable<Recipe> {
return this.getRecipes()
.subscribe(recipes => recipes.find(recipe => recipe.ID === id));
}
我不确定如何从一个可观察的数组中获取一个特定的可观察项,就像我在本教程中使用promises一样。
答案 0 :(得分:1)
你应该在这种情况下使用map,你的实现可以遵循
getRecipe(id: number): Observable<Recipe> {
return this.getRecipes()
.map(recipies => recipies.find(x => x.id === id));
}