AngularjsのPromiseオブジェクトの詳しい説明

php中世界最好的语言
リリース: 2018-03-08 10:24:03
オリジナル
1840 人が閲覧しました

今回は Angularjs の Promise オブジェクトについて詳しく説明します。 Angularjs の Promise オブジェクトを使用する際の 注意事項 は何ですか? 以下は実際的なケースです。

約束とは何ですか?それを理解するには、私たちが直面している問題から始める必要があります。 Ajax 非同期リクエストを操作する場合、リクエストが成功した後にロジックを処理するためにコールバック関数を追加する必要がありますが、このメソッドは制御フローと

例外処理を犠牲にし、ネストされたコールバック関数に分類される可能性もあります。プロセスは複雑で、コードは肥大化します。 angularjsで非同期処理を扱う場合、まず$watchリスナーを使って実装することを考えるかもしれませんが、リスナーが多すぎるとパフォーマンスに影響が出たり、コード構造がごちゃごちゃになります。

この状況を解決するために、Angularjs に Promise オブジェクトの概念が導入されました。正確に言うと、これは、

コールバック関数の面倒さを効果的に解決し、同期メソッドを使用できる、非同期プログラミングを処理するためのエレガントなモードです。ビジネスプロセスを処理する方法。同時に、コールバック内でチェーン書き込みが許可されます。 次に、promise オブジェクトの使用方法を詳しく説明します:

promise の

基本概念と使用方法

1.彼女の

プロパティとメソッド について詳しく学んでください。ここでは例を使用して比較して説明します。 例: A という名前の顧客が B という名前の会社に WEB ページの開発を依頼し、B 社は 3 日以内にそれを完了すると約束しました。これは基本的に顧客 A によって開始された延期されたビジネスです。これは、$q オブジェクトの defer メソッドを呼び出して遅延オブジェクトを作成するプロセスとして理解できます。

2. 次の 3 日間で、顧客は開発の進捗状況について会社に連絡する可能性があります。これは、拡張オブジェクトの メソッドを呼び出して、ビジネスのステータスが「未完了または進行中」であることを示すメッセージ

; 3 日後に会社 B が顧客 A によって開発されたページを正常に配信した場合、これは 解決 メソッドは、この延期されたビジネスのステータスが「完了」であることを示し、会社 B が生産プロセス中にそれを実現できないと判断した場合、これは < を呼び出していると理解できます。 ;strong>reject< 遅延オブジェクト内の /strong>メソッドのプロセスは、この遅延ビジネスのステータスが「完了できない」ことを示します。 3. 会社 B が顧客 A からの要求を受け取ると、以前に行ったプロジェクトが現在の要求と完全に一致していることがわかり、最初に完了したプロジェクトを直接会社 B に提供することにしました。満足。この場合、遅延業務は発生しないので、$q オブジェクトを通じて when メソッドを呼び出す処理と理解できます。

4. この例を通じて、顧客 A も会社 B もお互いにあまり時間を割いていないことがわかります。これは、Promise オブジェクトの重要な特徴です。さらに、この例から、Promise オブジェクトの作成プロセスが明確に理解できます。 defer()、notify()、reject()、および when() メソッドで表される関数と同様に。

それでは、Promiseオブジェクトの作成プロセスを紹介します。 Angular で Promise オブジェクトを作成したい場合は、まず $q サービスをテンプレートに挿入し、最初に defer メソッドを呼び出して遅延オブジェクトを作成する必要があります。コードは次のとおりです。

angular.module("a",[])
  .controller("c",["$scope","$q",function($scope,$q){  var defer=$q.defer();
}])
ログイン後にコピー

はマスターできたと思います。この記事の事例を読んだ後は、さらに興味深い内容が見つかるでしょう。php 中国語 Web サイトの他の関連記事にも注目してください。

関連記事:

WEBインターフェース管理ツール


ionicアプリケーションのテキストを長押しでコピー&ペーストできない場合の対処方法

以上がAngularjsのPromiseオブジェクトの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!