anchor.diff:  `new Promise` でインスタンス化したpromiseオブジェクトには以下の3つの状態が存在します。
   
   "has-resolution" - Fulfilled::
  -    resolve(解決)された時。この時 `onFulfilled` が呼ばれる
  +    resolve(成功)した時。この時 `onFulfilled` が呼ばれる
   "has-rejection"  - Rejected::
  -    reject(棄却)された時。この時 `onRejected`  が呼ばれる
  +    reject(失敗)した時。この時 `onRejected`  が呼ばれる
   "unresolved" - Pending::
       resolveまたはrejectではない時。つまりpromiseオブジェクトが作成された初期状態等が該当する
   
  
positive.code: promise.then(onFulfilled, onRejected)
  ----
  
  resolve(解決)された時::
      `onFulfilled` が呼ばれる
  reject(棄却)された時::
      `onRejected`  が呼ばれる
  
  `onFulfilled`、`onRejected` どちらもオプショナルな引数となり、
  エラー処理だけを書きたい場合には `promise.then(undefined, onRejected)` と同じ意味である
  `promise.catch()`を使うことが出来ます。
  
  [source,js]
  
negative.code: <2> <1>のpromiseに対して `.then` で値が返ってきた時のコールバックを設定します
  
  `asyncFunction` という関数 は promiseオブジェクトを返していて、
  そのpromiseオブジェクトに足しして `then` でresolveした時のコールバックを、
  `catch` でエラーとなった場合のコールバックを設定しています。
  
  このpromiseオブジェクトはsetTimeoutで16ms後にresolveされるので、
  そのタイミングで `then` のコールバックが呼ばれ `'Async Hello world'` と出力されます。
  
  この場合 `catch` のコールバックは呼ばれる事はないですが、
  `setTimout`が存在しない環境などでは、例外が発生し`catch`のコールバックが呼ばれると思います。
  
  もちろん、`promise.then(onFulfilled, onRejected)` というように、
  