anchor.diff:  
   block promises
     h2#promises Fall back to Promises
  -  h2#promises 退化为承诺(Promise)
  +  h2#promises 倒退为承诺(Promise)
     :marked
       Although the Angular `http` client API returns an `Observable<Response>` we can turn it into a 
       [Promise<Response>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) if we prefer.
  
positive.code:   
    Now that we know how the API works, we implement `addHero()`like this:
    
    现在，我们知道了这个API如何工作，就可以像这样实现`addHero()`了：
  
  +ifDocsFor('ts')
    +makeExample('server-communication/ts/app/toh/hero.service.ts', 'import-request-options', 'app/toh/hero.service.ts (additional imports)')(format=".")  
  
negative.code:   structured like a `Hero` entity but without the `id` property.
    The body of the request should look like this:
    
    我们的[数据服务器](#server)遵循典型的REST指导原则。
    它期待在和`GET`英雄列表的同一个端点上存在一个[`POST`](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5)请求。
    它期待从请求体(body)中获得新英雄的数据，数据的结构和`Hero`对象相同，但是不带`id`属性。
    请求体应该看起来像这样：
  