目次へ戻る 5) Thenable Promiseオブジェクトはthen()メソッドを持ちます。then()にはPromiseオブジェクトの状態が fulfilled または rejected に変化した時の処理をコールバック関数として渡すことができます。この事を Thenable と呼びます。 thenの引数 then()はonFulfilled onRejectedの2つの...
続きを読む目次へ戻る 5) Thenable Promiseオブジェクトはthen()メソッドを持ちます。then()にはPromiseオブジェクトの状態が fulfilled または rejected に変化した時の処理をコールバック関数として渡すことができます。この事を Thenable と呼びます。 thenの引数 then()はonFulfilled onRejectedの2つの...
続きを読む目次へ戻る 4) コンストラクタに渡した関数内で発生したエラー Promiseの処理はtry…catchと同等 コンストラクタには渡したコールバック関数内はtry...catchと同じ動作をします。 var promise = new Promise(function(resolve, reject){ throw new Error('unexpected'); }); ...
続きを読む目次へ戻る 3) ES6 Promiseのコンストラクタ関数 ES6 Promiseではnew Promise()のようにPromiseオブジェクトを生成します。 var promise = new Promise(function(resolve, reject){ if (...) { resolve(1); } else { reject(new E...
続きを読む目次へ戻る 2) Promiseとは何か ひと昔前の非同期処理では、メソッドにコールバックを渡す手法が取られてきました。コールバックの渡し方や扱いはライブラリによって決定されます。そこで、非同期処理の手法をオブジェクトとして定義すれば様々なライブラリ間で共通した表現ができると考えられたのが Promise です。 Promiseとは非同期処理を抽象化したオブジェクトと、それを操作す...
続きを読む目次へ戻る 1) 同期処理と非同期処理 Promiseオブジェクトを知る前に、まず同期処理と非同期処理の違いをおさらいしましょう。 同期処理 ひとつの処理が終了してから次の処理に進むプロセスの事です。JavaScriptの通常の動作ですね。 var list = []; // 配列に値をセットする function taskA(){ for (var i=0; i<...
続きを読む