2017-01-31 10 views
0

私のアプリケーションでは、データを保存するためのリクエストを行う必要がありますが(この要求は少し遅いですが)、ユーザーは同じ時間に別のリクエストを行うことができます最初の要求(非同期)。どうすれば他の人を待つことなく2つの要求をすることができますか?アングルの開始が要求されているのを待っています

私の遅いサービス:

app.service('PedSaveService',["$http", "$q","BASEURL", 
         function ($http, $q,BASEURL) { 
          var self = this; 

          self.Save = function (pedidoData) { 
           var deferred = $q.defer();     
           $http({method: 'POST',async: true, url: BASEURL.REST_SAVE, headers: {'Content-Type': 'application/json;charset=utf-8'}, data : pedidoData}) 
            .success(function (response, status, headers, config) { 
             deferred.resolve(response, status, headers, config); 
            }) 
            .error(function (response, status, headers, config) { 
             deferred.reject(response, status, headers, config); 
            }); 

           return deferred.promise; 
          } 
+1

非同期リクエスト? – Weedoze

+0

リクエストが非同期でないのはなぜですか? – devqon

+0

はい、しました。 $ http async:trueで、モジュールに$ httpProvider.useApplyAsync(true);を追加します。しかし、それは動作しません。 –

答えて

0
self.Save = function(pedidoData) { 
$http({ 
    method: 'POST', 
    async: true, 
    url: BASEURL.REST_SAVE, 
    headers: { 
     'Content-Type': 'application/json;charset=utf-8' 
    }, 
    data: pedidoData 
}).then(function(res) { 
    return res; 
}); } 

サービスであなたのコードは、このする必要があります。

+0

私はこれをしましたが、それは動作しません。私のhttpコール: $ http({メソッド: 'POST'、非同期:true、url:MY_URL、ヘッダー:{'Content-Type': 'アプリケーション/ json; charset = utf-8'}、data:pedidoData}) ; –

+0

最初のhttp要求の.thenで2番目のhttp要求を作成していないことを確認してください。また、他の約束のライブラリを使用していません。 –

+0

いいえ、私はサービスを呼び出す関数(低速サービス)を持っていますし、2番目の要求を呼び出す別のコードで別の関数を持っています。 –

関連する問題