anchor.diff:    
     一旦开始与I/O打交道，我们就必须准备好接受墨菲定律：如果一件倒霉事*可能*发生，它就*迟早会*发生。
     我们可以在`HeroService`中捕获错误，并对它们做些处理。
  -  也可以把错误信息传回到组件，让组件展示给最终用户，但只能用一些他们可以理解并照办的表达方式。
  +  在用户可以理解并采取相应行动的时候，我们也可以把错误信息传回到组件，让组件展示给最终用户。
   
     In this simple app we provide rudimentary error handling in both the service and the component.
     
  -  在这个简单的应用中，我们在服务中和组件中都只提供了最原始的错误处理方式。
  +  在这个简单的应用中，我们在服务和组件中都只提供了最原始的错误处理方式。
   block error-handling
     :marked
       The eagle-eyed reader may have spotted our use of the `catch` operator in conjunction with a `handleError` method.
  
positive.code:       Don't rush to promises until you give observables a chance.
        
        可能“承诺”看起来更熟悉一些，但“可观察对象”有很多优越之处。
        不要匆匆忙忙的就决定用“承诺”，你值得给“可观察对象”一次机会。
    :marked
      Let's rewrite the `HeroService` using promises , highlighting just the parts that are different.
      
  
negative.code:   :marked
      In more parameterized examples we might prefer to build the query string with the Angular `URLSearchParams` helper as shown here:
      
      在更加参数化的例子中，我们会首选Angular的`URLSearchParams`辅助类来构建查询字符串，就像这样：
    +makeExample('server-communication/ts/app/wiki/wikipedia.service.ts','search-parameters','app/wiki/wikipedia.service.ts (search parameters)')(format=".")
    :marked
      This time we call `jsonp` with *two* arguments: the `wikiUrl` and an options object whose `search` property is the `params` object.
  