AngularJS: arts du Spectacle, $requête http à l'intérieur de service personnalisé et le renvoi de données
J'ai défini une coutume service http angulaire qui ressemble à ceci:
angular.module('myApp')
.factory('myhttpserv', function ($http) {
var url = "http://my.ip.address/"
var http = {
async: function (webService) {
var promise = $http.get(url + webService, { cache: true }).then(function (response) {
return response.data;
});
return promise;
}
};
return http;
});
Et je peux accéder à ce service dans mon contrôleur comme suit:
angular.module('myApp')
.controller('myCtrl', function (myhttpserv) {
var webService = 'getUser?u=3'
myhttpserv.async(webService).then(function (data) {
console.log(data);
})
});
Cependant j'ai maintenant besoin de rationaliser ce processus, de sorte qu'il est entièrement contenu dans le service avec une url statique et il renvoie les données. De sorte que je peux l'appeler dans le contrôleur comme suit:
angular.module('myApp')
.controller('myCtrl', function ($scope, myhttpserv) {
console.log(myhttpserv.var1);
console.log(myhttpserv.var2);
etc...
});
Je n'arrive pas à tordre le service pour obtenir cette fonctionnalité. Quelqu'un que vous connaissez la bonne façon de le faire?
OriginalL'auteur AzzyDude | 2014-06-09
Vous devez vous connecter pour publier un commentaire.
Option 1 - Utilisation de la promesse de l'API
Contrôleur:
Option 2 - l'Utilisation de la route résoudre
Service:
Contrôleur:
Option 3 - Utiliser $intervalle de service
Contrôleur:
Vous devez utiliser promesse.ou alors utiliser un intervalle pour que, puisque nous ne savons pas quand l'appel ajax sera de retour. Si vous utilisez angulaire routeur, vous pouvez également configurer le routage de se produire et de votre contrôleur de charge uniquement lorsque spécifié promesses (requêtes ajax) sont résolus
Est-il possible d'intégrer la promesse de la.ensuite, dans votre réponse, de sorte que le contrôleur de charge uniquement lorsque la demande est résolu?
Veuillez taux/marquer comme réponse si cela répond à votre question
Merci pour votre aide! Très concis!
OriginalL'auteur Robin Rizvi