Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang $http caching dalam AngularJS dan cara mengendalikan berbilang $http requests_AngularJS

Penjelasan terperinci tentang $http caching dalam AngularJS dan cara mengendalikan berbilang $http requests_AngularJS

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-16 15:16:09
asal
1583 orang telah melayarinya

$http ialah perkhidmatan teras dalam AngularJS, digunakan untuk membaca data daripada pelayan jauh. Dalam projek AngularJS sebenar, selalunya diperlukan untuk memproses berbilang permintaan $http Setiap permintaan $http mengembalikan janji.

1. Kendalikan berbilang permintaan $http

angular.module('app',[])
.controller('AppCtrl', function AppCtrl(myService){
var app = this;
myService.getAll().then(function(info){
app.myInfo = info;
})
})
.service('myService', function MyService($http, $q){
var myService = this;
user = 'https://api...',
repos = '',
events = '';
myService.getData = function getData(){
return $http.get(user).then(function(userData){
return {
name:userData.data.name,
url:userData.data.url,
repoCount: userData.data.count
}
})
};
myService.getUserRepos = function getUserRepos(){
return $http.get(repos).then(function(response){
return _.map(response.data, function(item){
return {
name: item.name,
description:item.description,
starts: item.startCount
}
})
})
}
myService.getUserEvents = function getUserEvents(){
...
}
myService.getAll = function(){
var userPromise = myService.getData(),
userEventsPromise = myService.getUserRepos(),
userReposPromise = myService.getUserRepos();
return $q.all([userPromise, userEventsPromise, userReposPromise]).then(function(){
....
})
}
})
Salin selepas log masuk

2.$http permintaan cache

Parameter formal kedua bagi kaedah get $http menerima objek Medan cache objek boleh menerima jenis bool untuk melaksanakan caching, iaitu, {cache:true}, atau ia juga boleh menerima perkhidmatan.

Buat perkhidmatan melalui kaedah kilang dan masukkan perkhidmatan ke dalam pengawal.

angular.module('app',[])
.factory("myCache", function($cacheFactory){
return $cacheFactory("me");
})
.controller("AppCtrl", function($http, myCache){
var app = this;
app.load = function(){
$http.get("apiurl",{cache:myCache})
.success(function(data){
app.data = data;
})
}
app.clearCache = function(){
myCache.remove("apiurl");
}
})
Salin selepas log masuk

Ringkasan editor:

● Malah, $cacheFactory
yang melaksanakan mekanisme caching ● Letakkan mekanisme caching dalam permintaan semasa melalui {cache:myCache}
● $cacheFactory menggunakan api permintaan sebagai kunci, jadi apabila mengosongkan cache, ia turut mengosongkan cache berdasarkan kunci ini

Di atas ialah kaedah $http caching dan memproses berbilang permintaan $http dalam AngularJS yang dikongsi oleh editor saya harap ia akan membantu semua orang.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan