j'ai une petite question a propose des sevices dans angular, j'ai besoin de recupéré 5 services qui me fournisse de la data pour la création d'un formulaire. jusque la tous vas bien, je les injecte je peut les utiliser, mais je me demandais si il y avait pas un moyen de binder tous les appels services en une seul fois plustot que de fair

service1.get().success(function(){'ca marche');
service2.get().success(function(){'ca marche aussi');
service3.get().success(function(){'ca marche');

j'ai simplifé les services pour l'exemple hein ^^

3 réponses


Maenhyr
Réponse acceptée

A moins de faire un 4eme service qui va appeler les 3 autres, il n'y a pas moyen.

Tu peux aussi faire un truc comme ca pour lancer les requetes en meme temps et faire une action si tous les resultats sont arrives.

$q.all([Service1.get(), Service2.get(), ...])
    .then(function(allDatas){
        allDatas[0] // retourne le resultat de Service1.get()
        allDatas[1] // retourne le resultat de Service2.get()
    });

mmh à moins de mettre tes services dans un tableau et de faire une boucle for :D

Defy
Auteur

ha oui c'ets cool ca comme solution!! merci prbaron pour ton aide sur tous mes posts angular ^^