2017-03-23 1 views
1

Je fais beaucoup d'appels d'API dans mes applications c'est-à-dire 50.Angular Http Priority

Le temps total pour terminer tous les appels api sera d'environ 1 minute. La priorité pour tous les appels api sera 2. J'ai activé le cache angulaire. Donc, en attendant, si l'utilisateur de mes applications veulent juste se concentrer sur la partie des appels API parmi le tout, disons seulement 6 appels API.

Puis, encore une fois, je vais projeter 6 appels API avec la priorité 1.

Mais je ne comprends toujours pas ce que je visais? Ces 6 appels API doivent recevoir les données dès que possible.

Veuillez vous référer au code ci-dessous.

Sur charge initiale:

for(var i=1,priority=19;i<=19,priority>=1;i++,priority--) 
{ 
$http.get("http://localhost:65291/WebService1.asmx/HelloWorld"+i+"?test=hari",{priority:2}) 
.then(function(response) { }); 
} 
} 

Sur quelques clics de souris de l'événement:

$http.get("http://localhost:65291/WebService1.asmx/HelloWorld7?test=hari",{priority:1}) 
.then(function(response) { }); 
} 

Répondre

1

si vous voulez envoyer une demande multiple http un coup puis utilisez $q.all

intérieur de la boucle de repousser les requêtes http à un tableau et envoyer ce tableau http à la fois.

var httpArr = [] 

for (var i = 1, priority = 19; i <= 19, priority >= 1; i++, priority--) { 
    httpArr.push($http.get("http://localhost:65291/WebService1.asmx/HelloWorld" + i + "?test=hari", { 
     priority: 2 
    })) 
} 
$q.all(httpArr).then(function(response) { 
    console.log(response[0].data) //1st request response 
    console.log(response[1].data) //2nd request response 
    console.log(response[2].data) //3rd request response 
}) 
+0

Merci pour votre réponse. Mais ma question était différente. J'ai besoin de prioriser un appel d'API en cours d'exécution de façon dynamique. Donc, je projette un autre appel même api avec la priorité 1. Mais je n'arrive pas à obtenir cette réponse rapidement. i.e Il ne réagit pas pour la priorité 1 – user1710931

+0

n'appelez pas le req http dans la boucle. créer une fonction séparée et placer la requête dans cette fonction et appeler la nouvelle fonction à l'intérieur de la boucle for. passer le 'i' comme argument à la fonction –

+0

Est-ce que cela répondra pour la priorité que j'ai assignée. Ma question était différente yar. Cela concerne la priorité – user1710931