0

$Http GET リクエストに対して {cache:true{ を取得しました。これが有効になっていても、データが非同期で返されることは知っていますが、それでも応答時間が驚くほど長いことがわかります。

これが正常なのか、それともより明確にするために、最初のリクエストの応答時間が同じ(ただし次の)リクエストの応答時間よりも長いと予想されるべきではないことを知りたいですか?

例えば、

両方の $http GET リクエストでキャッシュが有効になっています。

/foo/api/yellow

これは、promise が解決された後、3 秒かかるデータを返します。キャッシュを有効にしたので、これは Angularjs によってキャッシュされると思います。

しばらくすると、新しいリクエストが作成されます。

/foo/api/yellow

これにより一部のデータが返されますが、これは最初のリクエストでキャッシュされたと思われますが、応答時間は 3 秒以上です。私が言ったように、キャッシュが真であっても、データは非同期に返されますが、応答時間は正常ですか、それとも何か問題がありますか?

これが正常な場合、新しいサービスを作成して、キャッシュされたデータをすべて保存し、データが存在するかどうかを確認して同期的に取得するのが最善の方法だと思います。

最初のリクエストでは、現在のコードは次のようになります。

$http.get(MySettings.apiUrl + '/foo/api/yellow', { cache: true });

2 番目の要求は同じです。

コンソール ログを添付することにしました。

GET http://foo/api/get_tag_index/

200 OK
        419ms   
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=issues-covers

200 OK
        915ms   
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=issues-covers

200 OK
        1s  
angula....min.js (line 106)

200 OK
        4.43s   
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=cards

200 OK
        8.93s   
angula....min.js (line 106)
GET http://foo/api/get_tag_posts/?slug=issue-01

200 OK
        4.51s   
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=news

200 OK
        4.51s   
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=cards

200 OK
        3.86s   
angula....min.js (line 106)

ご覧いただきありがとうございます。

4

0 に答える 0