DeferredとPromise PromiseをDeferredっぽく使いたかったけど、微妙に使えなかったのでうまくいく方法を探した( ⁰⊖⁰) DeferredとPromiseの違い JavaScriptのPromiseとjQueryのDeferredの間には微妙な差があります。 setTimeOutしてconsoleに表示を出すようなシンプルなサンプルで比べてみます。 上の例をみると、(コメントで書いたように)d.resolve()とするか、new Promise(function (resolve, reject) のように引数で受け取るかの違いがあることが分かります。 Deferredオブジェクトは本来thenやcatchができればよいはずなのに、どこでもresolve, reject出来てしまうのは、Promiseとして問題のある使い方を可能にしてしまいます。 問題のある使い方