Promiseの細かい説明は以下のドキュメントに譲ります。 azu.github.io この記事では、Promiseを使うとどのような嬉しいことがあるのかを簡単に説明します。 setTimeoutを使って、1秒ごとに「1」「2」「3」「4」と表示するプログラムを書く場合を考えます。 Promiseを使わずに従来の方法で書いた場合、以下のようにコールバックのネストの形になります。 setTimeout(function() { console.log("1."); setTimeout(function() { console.log("2."); setTimeout(function() { console.log("3."); setTimeout(function() { console.log("4."); }, 1000); }, 1000); }, 1000) }, 1000)