anchor.diff:  
   まずPromiseとはそもそも何でしょう?
   
  -Promiseは非同期処理を抽象化したオブジェクトとそれを操作する仕組みを提供するものの事を言います。
  +Promiseは非同期処理を抽象化したオブジェクトとそれを操作する仕組みの事をいいます。
   詳しくはこれから学んでいくとして、PromiseはJavaScriptで発見された概念ではありません。
   
   最初に発見されたのは http://erights.org/elib/distrib/pipeline.html[E言語]におけるもので、
   並列/並行処理におけるプログラミング言語のデザインの一種です。
   
  -JavaScriptにおける非同期処理といえば、コールバックを利用する場合が多いと思います。
  +このデザインをJavaScriptに持ってきたものが、この書籍で学ぶJavaScript Promiseです。
  +
  +一方、JavaScriptにおける非同期処理といえば、コールバックを利用する場合が多いと思います。
   
   [source,js]
   .コールバックを使った非同期処理の一例
  
positive.code: ----
  <1> コールバック関数の引数には(エラーオブジェクト, 結果)が入る
  
  Node.js等JavaScriptでのコールバック関数の第一引数には`Error`オブジェクトを渡すという
  ルールを用いるケースがあります。
  
  このようにコールバックでの非同期処理もルールが統一されていた場合、
  コールバック関数には何を書けばいいかが明確になります。
  しかし、これはあくまでコーディングルールであるので、異なる書き方をしても決して間違いではありません。
  
  Promiseでは、このような非同期に対するオブジェクトとルールを仕様化して、
  Promiseを使った場合は常に統一的なインターフェースで書けるようしています。
  
  [source,js]
  .Promiseを使った非同期処理の一例
  
negative.code: コールバックのように引数に何を入れるかが自由に決められるわけではなく、一定のやり方に統一されます。
  
  この、Promiseという統一されたインターフェースがあることで、
  そのインターフェースにおける様々な非同期処理のパターンを形成することが出来ます。
  
  つまり、複雑な非同期処理等を上手くパターン化できるというのがPromiseの役割であり、
  Promiseを使う理由の一つであるといえるでしょう。
  
  それでは、実際にJavaScriptでのPromiseについて学んでいきましょう。