Angular 6 http服务最佳实践

我有一个角度的feed服务,调用一个返回EntryDTO列表的REST端点.以下是该服务的外观:

@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');
  }
}

那么我可以有一个订阅这个observable的feed组件:

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) })
 }
}

这被认为是返回服务中的observable并在组件中订阅或是否有其他最佳实践的最佳实践?

最佳答案 您所遵循的方法非常好,但要将其提升到新的水平,您可以在服务中引入模型,这将使​​您的组件中的响应易于阅读/使用.

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

点赞