下記の$ q.allを使用して簡単なコードをテストしています。いくつかの$ qは約束事の配列の2番目のものを処理するのに非常に時間がかかり、バックエンドサーバーはタイムアウトしています。ブラウザの[ネットワーク]タブが表示されたとき、getAccountStatementListは200のステータスを返します。getInvoiceDetailsはサーバーのタイムアウト前にペンディングを示しています。これをどうやって解決するのですか?
var promises = [$http.get('getAccountStatementList'), $http.get('getInvoiceDetails')];
$q.all(promises).then(function(values){
console.log("Values 0 "+values[0]); // value alpha
console.log("Values 1 "+values[1]); // value beta
complete();
});
これは、2番目のリクエストが完了していないため、バックエンドサーバーの問題のようです。要求がクライアントから適切に形成されているかどうかを確認し、そうであればサーバーコードを調べて、2番目の要求が完了していない理由を確認する必要があります。 – jfriend00
ブラウザで直接2番目のリクエストを実行すると、結果を取得できました。 –
また、私は私の約束を交換して、getInvoiceDetailsとgetAccountStatementListの保留中の状態を取得しました。 –