2016-10-28 88 views
0

這實際上更多的是一個問題。我在我的應用程序中使用了幾個http請求,它們確實跨越了整個站點。角度正確的緩存或加載http請求的方式

  1. 緩存請求還是有更好的方式來只對給定的URL發出請求呢?
  2. 我是正確認識緩存方法(見下面的代碼)

homeApp.controller('mainMenu', function($scope, $http) { 
 
    $http.get("http://localhost:3000/wp-json/menus/2", { 
 
    cache: true 
 
    }).then(function(response) { 
 
    $scope.menuData.data = response.data.items; 
 
    }); 
 
});

我試圖把這個東西作爲快速和敏捷越好。謝謝大家!

回答

1
  1. 您可能可以自定義HTTP提供程序以查找某些路徑並將它們緩存爲您的應用程序。但我認爲通過指定cache=true編碼要緩存的特定呼叫會更好,更清晰嗎?

  2. 我想你已經正確地理解了它。

https://docs.angularjs.org/api/ng/service/$http

「啓用緩存時,$ HTTP相同的請求作出下一次存儲使用相關的緩存對象從服務器的響應,響應從緩存返回而不發送向服務器發送請求。「

因此,如果您在angular SPA的實例範圍內反覆向/wp-json/menus/2發出請求,它將不會觸及服務器。它非常有效。

我希望這會有所幫助。

+0

它的確如此!我認爲緩存是我尋找的解決方案。我是一個優雅而簡單的粉絲。我認爲這太棒了!大聲笑仍然只是學習angularjs語法的內部和。 – JoethaCoder