anchor.diff:      });
   ----
   
  -<<fs-method-chain.js>>に非同期処理を加えたものを自力で実装する場合、
  -エラーハンドリングが大きな問題となるため、非同期処理にしたい時は
  -Promiseを使うと比較的簡単に実装できると言えるかもしれません。
  +如果你想在<<fs-method-chain.js>>中自己实现异步处理的话，错误处理可能会成为比较大的问题；可以说在进行异步处理的时候，还是使用Promise实现起来比较简单。
   
   === Promise之外的异步处理
   
  -このメソッドチェーンと非同期処理を見てNode.jsに慣れている方は http://nodejs.org/api/stream.html[Stream] が思い浮かぶと思います。
  -
  -http://nodejs.org/api/stream.html[Stream] を使うと、
  -`this.lastValue` のような値を保持する必要がなくなる事や大きなファイルの扱いが改善されます。
  -また、Promiseを使った例に比べるとより高速に処理できる可能性が高いと思います。
  -
  -[source,javascript]
  -.streamによるread->transform->write
  +如果你很熟悉Node.js的話，那么看到方法链的话，你是不是会想起来 http://nodejs.org/api/stream.html[Stream] 呢。
  +
  +如果使用 http://nodejs.org/api/stream.html[Stream] 的话，就可以免去了保存 `this.lastValue` 的麻烦，还能改善处理大文件时候的性能。
  +另外，使用Stream的话可能会比使用Promise在处理速度上会快些。
  +
  +[source,javascript]
  +.使用Stream进行read->transform->write
   ----
   readableStream.pipe(transformStream).pipe(writableStream);
   ----
   
  -そのため、非同期処理には常にPromiseが最適という訳ではなく、
  -目的と状況にあった実装をしていくことを考えていくべきでしょう。
  -
  -NOTE: Node.jsのStreamはEventをベースにしている技術
  -
  -Node.jsのStreamについて詳しくは以下を参照して下さい。
  -
  -* http://jxck.hatenablog.com/entry/20111204/1322966453[Node.js の Stream API で「データの流れ」を扱う方法 - Block Rockin’ Codes]
  -* http://www.slideshare.net/shigeki_ohtsu/stream2-kihon[Stream2の基本]
  -* http://www.slideshare.net/shigeki_ohtsu/node-v012tng12[Node-v0.12の新機能について]
  +因此，在异步处理的时候并不是说Promise永远都是最好的选择，要根据自己的目的和实际情况选择合适的实现方式。
  +
  +NOTE: Node.js的Stream是一种基于Event的技术
  +
  +关于Node.js中Stream的详细信息可以参考以下网页。
  +
  +* http://jxck.hatenablog.com/entry/20111204/1322966453[利用Node.js Stream API对数据进行流式处理 - Block Rockin’ Codes]
  +* http://www.slideshare.net/shigeki_ohtsu/stream2-kihon[Stream2基础]
  +* http://www.slideshare.net/shigeki_ohtsu/node-v012tng12[关于Node-v0.12新功能]
   
   === Promise wrapper
   
  
positive.code: [[promise-and-method-chain]]
  == Promise和方法链（method chain）
  
  Promiseは `then` や `catch` 等のメソッドを繋げて書いていきます。
  これはDOMやjQuery等でよくみられるメソッドチェーンとよく似ています。
  
  一般的なメソッドチェーンは `this` を返すことで、メソッドを繋げて書けるようになっています。
  
  [NOTE]
  ====
  メソッドチェーンの作り方については http://taiju.hatenablog.com/entry/20100307/1267962826[メソッドチェーンの作り方 - あと味] などを参照するといいでしょう。
  ====
  
  一方、Promiseは<<then-return-new-promise, 毎回新しいpromiseオブジェクトを返す>>ようになっていますが、
  一般的なメソッドチェーンと見た目は全く同じです。
  
  このセクションでは、一般的なメソッドチェーンで書かれたものを
  インターフェースはそのままで内部的にはPromiseで処理されるようにする方法について学んでいきたいと思います。
  
  === fs中的方法链
  
  以下のような http://nodejs.org/api/fs.html[Node.jsのfs]モジュールを例にしてみたいと思います。
  
  また、今回の例は見た目のわかりやすさを重視しているため、
  現実的にはあまり有用なケースとは言えないかもしれません。
  
  [source,javascript]
  [[fs-method-chain.js]]
  
negative.code: include::src/promise-chain/fs-method-chain.js[]
  ----
  
  这个模块可以将类似下面的 read -> transform -> write 这一系列处理，通过组成一个方法链来实现。
  
  [source,javascript]
  ----
  