Promise 常用來處理非同步流程,當執行成功時 resolve( ) 處理 .done( ); 失敗時 reject( ) 處理 .fail( );另外當成功執行 .done 之後還可以透過 .then( ) 繼續執行其它的處理,避免過多 CallBack 處理程序而造成 CallBack hell 。範例內容如下,並可參考連結有更詳細的說明 HTML: <button id="rs">ReSolve</button> <button id="rj">Reject</button> JQuery: var def= jQuery. Deferred ( ); $("#rs").click(() => def.resolve( )); // handle resolve $("#rj").click(() => def.reject( )); // handle reject var task = def. promise ( ); task.done( ( ) => {alert('Resolve Clicked!');}) // success to handle .done .then( ( ) => {alert('Call again for Resolve!');}) // next when .done finish .fail( ( ) => {alert('Reject Clicked!');}) // fail to handle .fail .always( ( ) => {$("button").prop("disabled", true);}); // here is always to handle without success or fail 參考連結: http://blog.darkthread.net/post-2016-12-22-js-promise.aspx