IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Chainage de promesses


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 76
    Points : 58
    Points
    58
    Par défaut Chainage de promesses
    J'aimerais pouvoir chainer 2 promesses JS qui marchaient très bien indépendamment. Il s'agit d'effectuer une opération UNIQUEMENT lorsque les 2 promesses on été résolus.
    Mes 2 fonctions (getAll et getAllUserItem) sont des fonctions déclaré async dans une classe tier.

    J'ai écris ce code mais je ne comprends pas pourquoi mon chainage ne fonctionne pas. Les variables toto et tata sont bien des promesses en mode "pending" quand je les dump.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    let toto = connectionManager.getAll(this.objectType)
    let tata = connectionManager.getAllUserItem(this.objectType)
     
    console.log(toto)
    console.log(tata)
     
    Promise.all(toto, tata)
    	.then((res1, res2) => {
    		this.objects = res1
    		this.userObjects = res2
    	})
    Qu'en pensez-vous ?

  2. #2
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    les méthodes de connectionManager sont bien sur asynchrones , mais elle ne sont pas pour autant encapsulées en promesses et ne gèrent pas, à minima, le moindre résolve.

    ps: il ne s'agit pas ici de chaînage mais de parallélisme d’exécution

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    les arguments de Promise.all doivent être contenu dans un tableau ainsi que les arguments de la fonction de retour.
    Et non pas plusieurs arguments respectivement...

    ce code là fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    let toto = connectionManager.getAll(this.objectType)
    let tata = connectionManager.getAllUserItem(this.objectType)
     
    Promise.all([toto, tata])
    	.then(([res1, res2]) => {
    		this.objects = res1
    		this.userObjects = res2
    	})
    Effectivement psychadelic il s'agit bien d'un parallélisme de promesses et non d'un chainage qui serait lui en série.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. algo de chainage pour extraction de contours
    Par felben dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 20/04/2006, 17h06
  2. [XSLT] [JAXP] passage parametres lors de chainage xslt
    Par Pi2 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 22/02/2006, 09h38
  3. [STRUTS- TILES] Chainage d'actions ou Tiles Controller
    Par DarkWark dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/01/2006, 10h47
  4. Promesse d'embauche
    Par muse19 dans le forum Droit du travail
    Réponses: 11
    Dernier message: 16/05/2005, 11h48
  5. Réponses: 13
    Dernier message: 20/01/2005, 12h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo