<英雄指南>继续前行.接下来,我们准备添加更多的组件. 将来会有更多的组件访问英雄数据,我们不想一遍一遍地复制粘贴同样的代码. 解决方案是,创建一个单一的.可复用的数据服务,然后学着把它注入到那些需要它的组件中去. 我们将重构数据访问代码,把它隔离到一个独立的服务中去,让组件尽可能保持精简,专注于为视图提供支持. 在这种方式下,借助模拟服务来对组件进行单元测试也会更容易. 因为数据服务通常都是异步的,我们将在本章创建一个基于承诺 (Promise)的数据服务. 当然,一开始我们还是要让我们的程…