ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery 1.9 .ajax()New Promise Interfaceの利点

jQuery 1.9 .ajax()New Promise Interfaceの利点

Joseph Gordon-Levitt
リリース: 2025-02-23 08:46:45
オリジナル
339 人が閲覧しました

jQuery 1.9  .Ajax() New Promise Interface Advantages

前の5つの新しいjquery.ajax()例(jquery 1.9)を継承すると、jquery .ajax()1.9のPromiseインターフェイスを使用してもたらされた変更を記録したいと思います(その一部は利点として分類できます)。

  • - success - doneerror 🎜>。 fail completealways延期:
  • 延期された約束は、アプリケーションのどこにでも拘束される可能性があり、その結果、柔軟性と再利用性が向上します。
  • コールバック注文:
  • コールバック注文は次のとおりです。これが標準的な順序です。
  • 複数のコールバック:fail同じタイプの任意の数のコールバックを指定できます。たとえば、done、Ajax要求が返されて完了すると、これらすべてが起動されます。 always
  • パラメーター:(元のテキストは詳細に説明されていません、ここでは省略していません) .always(), .always(), .always()
  • Chenge Call: jquery 1.8から始めて、
  • 関数をAjaxリクエストをチェーンすることができます。以下の例を参照してください。
  • の組み合わせ:
  • を組み合わせることができます。以下の例を参照してください。 .then()
  • ソース:jquery.ajax api 私が何か他のものを逃したことがわかったら、自由にコメントしてください。 .done().fail() .done()と.fail()を.then().then()に組み合わせます
および
// 旧的 complete 函数
complete Function(jqXHR jqXHR, String textStatus)

// 新的 done 函数
jqXHR.done(function(data, textStatus, jqXHR) {});
ログイン後にコピー
関数を

関数に結合できます。上記のコードは、次のように書き換えることができます 出典:jqueryでの延期と約束、ajaxリクエスト

jquery 1.8 then()

からチェーンコールを開始します done() jQuery 1.8から始めて、チェーンの順序でfail()関数を呼び出すことができます。次のコードでは、最初の実行then()、パージングに成功した後、

を実行し、約束を返し、解析を成功させた後、匿名関数を実行します。
var promise = $.ajax({
  url: "/myServerScript"
});

promise.then(mySuccessFunction, myErrorFunction);
ログイン後にコピー

各コールバック関数は、以前の非同期関数の結果を受け取ります。

promise()として.when()を使用します

then()を使用して、約束のコールバック関数、つまりpromise1を割り当てることができます。 getStuff

var promise1 = $.ajax("/myServerScript1");

function getStuff() {
    return $.ajax("/myServerScript2");
}

promise1.then(getStuff).then(function(myServerScript2Data) {
  // 两个 Promise 都已解析
});
ログイン後にコピー
ご覧のとおり、3つの約束を$に渡します。1つはアニメーションをフェードアウトすると、Ajaxオペレーション用に2つ。

  • 最初のパラメーターは、延期されたハンドラーを作成し、約束を返す自己執行匿名関数です。 $ .Deferred Callbackでは、関数はdfd.resolveのコールバックパラメーターに渡されます。つまり、アニメーションが完了すると、延期されます。 fadeOut()
  • $に渡す他の2つのパラメーターについては、$ .AJAXの結果は約束を実装するJQXHRオブジェクトであるため、返された値をそのまま渡すだけです。
出典:常に(jQuery)約束を守り、jquery 1.9 ajax Promiseインターフェイスの利点についてのFAQを維持します


jQuery 1.9 Ajax Promiseインターフェイスを使用することの主な利点は何ですか?

jQuery 1.9 Ajax Promiseインターフェイスを使用することの主な利点は、複数のAJAX要求を同時に処理できることです。この機能は、複数のAJAXリクエストを実行する必要があり、すべてのリクエストが完了した後にのみ特定の操作を実行する必要がある場合に特に便利です。 Promiseインターフェイスは、複数のAJAX要求の結果を集約し、すべてのリクエストが完了するまでコールバック関数を実行する方法を提供します。これにより、コードの読み取りと管理が容易になります。

(次の質問への回答は元のテキストと同じですが、文言は元のテキストを維持するためにわずかに調整されています。)

jQuery 1.9 Ajax Promiseインターフェイスでのエラー処理を改善する方法は?

jQuery 1.9 Ajax Promiseインターフェイスは、エラーを処理する統一された方法を提供することにより、エラー処理を改善します。 Ajax要求ごとに個別のエラー処理コードを記述しないと、Promiseインターフェイスを使用してすべてのエラーを1つの場所で処理できます。これにより、コードが簡素化されるだけでなく、コードの維持とデバッグが容易になります。

jQuery 1.9 Ajax Promiseインターフェイスを他のバージョンのjQueryと使用できますか?

はい、jQuery 1.9 Ajax Promiseインターフェイスを他のバージョンのjQueryと使用できます。ただし、PromiseインターフェイスはjQuery 1.5で導入されたため、以前のバージョンでは動作しないことに注意してください。さらに、Promiseインターフェイスのいくつかの機能は、jQueryの後のバージョンでは利用できない場合があるため、互換性の問題についてはjQueryドキュメントを確認することをお勧めします。

jQuery 1.9 Ajax Promiseインターフェイスは、Ajax要求を処理する他のメソッドとどのように比較されますか?

jQuery 1.9 Ajax Promiseインターフェイスには、AJAX要求を処理する他の方法よりもいくつかの利点があります。複数のAJAXリクエストを処理するためのより構造化され、整理された方法を提供し、エラー処理を改善し、コードの読みやメンテナンスを容易にします。ただし、初心者にとっては、他の方法よりも少し複雑かもしれません。

jQueryの約束と延期されたオブジェクトの違いは何ですか?

jQueryの約束と延期されたオブジェクトは、どちらも非同期操作を管理するために使用されますが、さまざまな用途があります。延期されたオブジェクトは未完成の作業単位を表し、約束オブジェクトは作業の最終結果を表します。言い換えれば、延期されたオブジェクトは解析または拒否されることがありますが、約束のオブジェクトは充足または拒否のみを行うことができます。

従来のAJAXコールを約束ベースのAjaxコールに変換する方法は?

従来のAJAXコールを約束ベースのAjaxコールに変換するには、Promiseオブジェクトを返す関数にAjaxコールを包むことが含まれます。 Promiseオブジェクトは、AJAXコールの成功または失敗に基づいて解析または拒否されます。

jQuery 1.9 Ajax Promiseインターフェイスを他のJavaScriptライブラリと使用できますか?

はい、jQuery 1.9 Ajax Promiseインターフェイスを他のJavaScriptライブラリと使用できます。ただし、特に他のライブラリも約束または同様の構成要素を使用している場合、潜在的な互換性の問題に注意する必要があります。

jQuery 1.9 Ajax Promiseインターフェイスを使用して、複数のAJAX要求を処理する方法は?

$ .when()関数を使用して、jQuery 1.9 Ajax Promiseインターフェイスを使用して複数のAJAX要求を処理できます。この関数は、複数の約束オブジェクトをパラメーターとして使用し、すべての入力約束オブジェクトが解析されたときに解決する新しいPromiseオブジェクトを返します。

jQuery 1.9 Ajax Promiseインターフェイスを使用したときにAJAX要求が失敗した場合はどうなりますか?

jQuery 1.9 Ajax Promiseインターフェイスを使用したときにAjax要求が失敗した場合、リクエストに関連付けられたPromiseオブジェクトは拒否されます。これを処理することができます.fail()ハンドラーをPromiseオブジェクトに取り付けます。これは、Promiseが拒否された場合に呼び出されます。

非アジャックス非同期操作にjQuery 1.9 Ajax Promiseインターフェイスを使用できますか?

はい、非アジャックス非同期操作にjQuery 1.9 Ajax Promiseインターフェイスを使用できます。 Promiseインターフェイスは、非同期操作を管理するための一般的な構成要素であるため、ファイルの読み取りやデータベースのクエリなど、すぐに実行できない任意の操作で使用できます。

以上がjQuery 1.9 .ajax()New Promise Interfaceの利点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート