-1

誰かがクエリで約束と延期の違いを簡単に説明できますか?

プロミスとは何か、いつ使用するかは知っていますが、遅延との違いを理解するのに苦労していますか?

4

1 に答える 1

2

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(){});
于 2013-11-12T16:10:25.347 に答える