192 votes

Comment annuler un $requête http dans AngularJS?

Étant donné une requête Ajax en AngularJS

$http.get("/backend/").success(callback);

quel est le moyen le plus efficace pour annuler cette demande si une autre demande est lancé ( même en arrière-plan , les différents paramètres, par exemple ). merci .

329voto

lambinator Points 2876

Cette fonctionnalité a été ajoutée à la version 1.1.5 via un paramètre de délai d'attente:

var canceler = $q.defer();
$http.get('/someUrl', {timeout: canceler.promise}).success(successCallback);
// later...
canceler.resolve();  // Aborts the $http request if it isn't finished.

9voto

Annulation de demandes émises avec $http n'est pas pris en charge avec la version actuelle d'AngularJS. Il y a une pull request ouvert à ajouter cette fonctionnalité, mais ce RP n'était pas encore vérifiées, donc il n'est pas clair si sa va le faire dans AngularJS de base.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X