目次へ戻る


3) ES6 Promiseのコンストラクタ関数

ES6 Promiseではnew Promise()のようにPromiseオブジェクトを生成します。

var promise = new Promise(function(resolve, reject){
  if (...) {
    resolve(1);
  } else {
    reject(new Error('reason'));
  }
});
  • Promiseオブジェクトをnewでインスタンス化します
  • コンストラクタに渡す関数はresolve rejectの2つの引数を持ちます

resolve

var promise = new Promise(function(resolve, reject){
  resolve(1);
});

promise.then(function(value){
  console.info(value);
});

plunker

resolve() を呼ぶと「処理が成功した」状態になります。 この状態は fulfilled と呼びます。

  • fulfilledな時、then()の第一引数が呼ばれます
  • fulfilledな時、値を受け取る事ができます

reject

var promise = new Promise(function(resolve, reject){
  reject(new Error('abort'));
});

promise.then(null, function(error){
  console.log(error.message);
});

plunker

reject() を呼ぶと「処理が成功しなかった」状態になります。 この状態は rejectedと呼びます。

  • rejectedな時、then()の第二引数が呼ばれます
  • rejectedな時、原因を受け取る事ができます
  • rejectにはErrorオブジェクトを渡します

前のページ 次のページ