anchor.diff:    We take the same fetched results displayed in the first binding
     and display them again, this time in JSON format by chaining through to the built-in `JsonPipe`.
   
  +  第二个绑定除了用到`FetchPipe`之外还链接了更多管道。
  +  我们把获取数据的结果同时显示在第一个绑定和第二个绑定中。第二个绑定中，我们通过链接到一个内建管道`JsonPipe`把它转成了JSON格式。
  +
   .callout.is-helpful
     header Debugging with the json pipe
  +  header 借助json管道进行调试
     :marked
       The [JsonPipe](../api/common/JsonPipe-class.html)
       provides an easy way to diagnosis a mysteriously failing data binding or
       inspect an object for future binding.
   
  +    [JsonPipe](../api/common/JsonPipe-class.html)为你诊断数据绑定的某些神秘错误或为做进一步绑定而探查数据时，提供了一个简单途径。
  +
   :marked
     Here's the complete component implementation:
   
  +  下面是组件完整的实现代码：
  +
   +makeExample('pipes/ts/app/hero-list.component.ts', null, 'app/hero-list.component.ts')
   
   a(id="pure-pipe-pure-fn")
   :marked
     ### Pure pipes and pure functions
  +  ### 纯管道与纯函数
   
     A pure pipe uses pure functions.
     Pure functions process inputs and return values without detectable side-effects.
     Given the same input they should always return the same output.
  +
  +  纯管道使用纯函数。
  +  纯函数是指在处理输入并返回结果时，不会产生任何副作用的函数。
  +  给定相同的输入，它们总是返回相同的输出。
   
     The pipes we saw earlier in this chapter were implemented with pure functions.
     The built-in `DatePipe` is a pure pipe with a pure function implementation.
  
positive.code:   and the component doesn't have to unsubscribe when it is destroyed
    (a potent source of memory leaks).
  
    ### An impure caching pipe
  
    Let's write one more impure pipe, a pipe that makes an HTTP request to the server.
    Normally, that's a horrible idea.
  
negative.code:   The pipe maintains a subscription to the input `#{_Observable}` and
    keeps delivering values from that `#{_Observable}` as they arrive.
  
    而且它是有状态的。
    该管道维护着一个到所输入的`Observable`的订阅，并且持续从那个`Observable`中发出新到的值。
  
    In this next example, we bind an `#{_Observable}` of message strings
    (`message#{_dollar}`) to a view with the `async` pipe.
  
    在下个例子中，我们使用该`async`管道把一个消息字符串(`message#{_dollar}`)的`#{_Observable}`绑定到视图中。
  
  +makeExample('pipes/ts/app/hero-async-message.component.ts', null, 'app/hero-async-message.component.ts')
  
  