誰かがクエリで約束と延期の違いを簡単に説明できますか?
プロミスとは何か、いつ使用するかは知っていますが、遅延との違いを理解するのに苦労していますか?
Promise は遅延オブジェクトの読み取り専用ビューです。遅延オブジェクトを解決/拒否することはできませんが、それぞれのイベントにハンドラーを登録することはできます。
メソッドが遅延オブジェクトを作成するとき、そのメソッドがいつ拒否/解決済みとしてマークされる必要があるかを制御したい場合、そのメソッドから遅延オブジェクトを返す場合、誰でもその遅延オブジェクトで解決/拒否を呼び出すことができます。代わりに、jQuery はcall によって作成され、deferred を作成したメソッドから返すことができる deferred の呼び出された promise の読み取り専用ビュー。deferred.promise()
他のメソッドは、fail/success/always イベントのハンドラーのみを登録できますが、deferred の状態を変更することはできません。
function create(){
var d = $.Deferred();
.....
//we can call resolve/reject using d
return d.promise();
}
var promise = create();
//we cannot call resolve/reject on this object
promise.done(function(){});