ホームページ > ウェブフロントエンド > jsチュートリアル > angularjs が複数の非同期リクエストを処理する方法の概要

angularjs が複数の非同期リクエストを処理する方法の概要

伊谢尔伦
リリース: 2017-07-21 14:27:22
オリジナル
2103 人が閲覧しました

実際のビジネスでは、次のステップに進む前に、いくつかのリクエストが完了するまで待つ必要があることがよくあります。ただし、angularjs の $http は同期リクエストをサポートしていません。

解決策 1:

$http.get('url1').success(function (d1) {
        $http.get('url2').success(function (d2) {
            //处理逻辑
        });
    });
ログイン後にコピー

解決策 2:

その後、メソッドが順番に実行されます。

var app = angular.module('app',[]);
app.controller('promiseControl',function($scope,$q,$http) {
    function getJson(url){
        var deferred = $q.defer();
        $http.get(url)
            .success(function(d){
                d = parseInt(d);
                console.log(d);
                deferred.resolve(d);
            });
        return deferred.promise;
    }
    getJson('json1.txt').then(function(){
        return getJson('json2.txt');
    }).then(function(){
        return getJson('json1.txt');
    }).then(function(){
        return getJson('json2.txt');
    }).then(function(d){
        console.log('end');
    });
});
ログイン後にコピー

解決策 3:

$q.all メソッドの最初のパラメーターは配列 (オブジェクト) にすることができます。最初のパラメータの内容が実行された後、then のメソッドが実行されます。最初のパラメーターのメソッドの戻り値はすべて、配列 (オブジェクト) の形式で渡されます。

りー

以上がangularjs が複数の非同期リクエストを処理する方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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