Angular 6 http服务最佳实践

时间:2018-08-16 07:38:12

标签: angular angular6

我有一个有角度的提要服务,它调用REST端点,该端点返回EntryDTO列表。该服务的外观如下:

@Injectable({providedIn: 'root'})

constructor(private http: HttpClient) {}
export class FeedService() {
  getPublicFeedEntries: Observable<EntryDTO[]> () {
    return this.http.get('/rest/publicFeedEntries/).map((response: Response) => response.json()).catch((err: any) => Observable.throw(error.josn().error || 'error');
  }
}

所以我可以有一个订阅此可观察内容的供稿组件:

export class FeedComponent() {
private feedEntries: EntryDTO[];
constructor(private feedService: FeedService) { feedEntries = new Array(); }

ngOnInit() {
  this.feedService.getPublicFeedEntries.subscribe(entries => {
  this.feedEntries = entries;
  }, err => {console.log(err) })
 }
}

这是在服务中返回可观察对象并订阅组件的最佳实践吗?还是有其他最佳实践?

1 个答案:

答案 0 :(得分:1)

您所遵循的方法非常好,但是要将其提升到一个新的水平,您可以在服务中引入模型,这将使​​响应易于在组件中读取/使用。

查看这篇写在ngx-model上的文章,该文章提供了在应用程序中遵循模型驱动方法的方法。