Promise

promiseオブジェクトのコンストラクタ構文

let promise = new Promise(function (resolse, reject) {

}

executor がジョブを終了した時、次の中のいずれか1つを呼ぶ

promiseのジョブが正常に完了する例

let promise = new Promise(function(resolve, reject) {
		// 1秒後にジョブが'done!'という結果とともに完了したことを返す
		setTimeout(() => resolve('done!'), 1000);
});

promiseのジョブがエラーで終わる時の例

let promise = new Promise(function(resolve, reject) {
		// 1秒後に、ジョブがエラーで終わったことを返す
		setTimeout(() => reject(new Error('Whoops!'), 1000);
});

.then, .catch, .finally

promiseのexecutorの結果をもとに処理を行う際に.then.catch.finally を使う

.then

基本構文

引数に2つの関数を設定することができる

promise.then(
	function(result) { /* 成功した結果を扱う */ },
	function(error) { /* エラーを扱う */ }
);