我喜欢Restangular只发送一个请求,但它仍然会生成两个请求。此外,如果我发送带有参数的请求,它将作为第一个请求的未定义发送,然后定义第二个请求。我这样做,如下所示,是什么导致它这样做?
.service('SomeStuffService', function ( $q, _,Restangular,$localStorage){
return {
getSomeStuffs: function() {
var dfd = $q.defer();
setTimeout(function() {
Restangular.one('stuff').get().then(function(stuffObj) {
$localStorage.stuff =stuffObj.stuff;
dfd.resolve(stuffObj.stuff);
},2000)
});
return dfd.promise;
}
}
})
在状态加载之前解决
.state('app.stuff-state', {
url: '/stuff',
.....
resolve: {
regions: function($stateParams,SomeStuffService) {
return SomeStuffService.getSomeStuffs();
}
}
在我的控制器中
$scope.stuff = $localStorage.stuff||SomeStuffService.getSomeStuffs()