知行合一

とか言ってみる

【Javascript】Promiseの簡単なまとめ

参考
JavaScriptプログラミング講座【Promise クラスについて】

//エグゼキュータ関数
function fuga (resolve, reject){
	console.log("非同期処理の開始");
	console.log("3秒待つ");

	//3秒後に実行される関数
	setTimeout(function(){
		var success = true;//dummyで常に成功
		if(success) {
			//成功時
			resolve("成功した");
		}else{
			//失敗時
			reject("失敗した");
		}
		
		console.log("非同期処理の終了");
		
	} , 3 * 1000);
}

//promiseオブジェクトを作成する(エグゼキューターの関数の実行を開始する)

var promise = new Promise(fuga);

console.log(promise);

//実行結果を取得する
promise.then(
	function onFulfilled(value) {
		console.log(value);		
	},
	
	function onRejected(reason) {
		console.log(reason);
		
	}
)
.then(
	function () {
		console.log("3秒待って次の関数実行");
		setTimeout(function () {
			console.log("2つ目のメソッド呼び出し");
		}, 3 * 1000);	
	}
)