Angular 6 http服务最佳实践

ItF*_*eak 7 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');
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,我可以拥有一个订阅此可观察值的提要组件:

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) })
 }
}
Run Code Online (Sandbox Code Playgroud)

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

Ked*_*444 1

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

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