// $.Deferredバージョン $(function () { "use strict"; var d = $.Deferred(); setTimeout(function () { // dのプロパティで解決 d.resolve('deferred'); }, 10); d.then(function (ans) { console.log(ans); }); }); // Promiseバージョン (function () { "use strict"; var p = new Promise(function (resolve, reject) { setTimeout(function () { // 4行目で受け取ったresolveで解決 resolve('promise'); }, 20); }); p.then(function (ans) { console.log(ans); }); })();