new $.Deferred() で Deferred のオブジェクトを生成する。 非同期処理が完了した時点で、生成しておいた Deferred オブジェクトの resolve() メソッドを実行する。 Deferred オブジェクトの promise() メソッドを実行し、その戻り値(promise オブジェクト)の then() メソッドに非同期処理の後に実行したい処理を渡す。 then() はメソッドチェーンができるので、 var d = new $.Deferred(); async(function() { console.log('async'); d.resolve(); }); d.promise() .then(function() { console.log('hoge'); }) .then(function() { console.log('fuga'); });