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 :

classe javascript - fetch et constructeur


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    491
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 491
    Par d�faut classe javascript - fetch et constructeur
    Bonjour,

    Je d�finis une classe javascript, et dans le constructeur, j'ai une variable o� je veux stocker le r�sultat d'un fetch.
    Ca devrait ressembler � �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    class MaClass {
     
      constructor(url) {
        this.url = url;
        this.capabilities = fetch(this.url)
        .then(response => response.text())
        .then(data => {
                  console.log(data)
                  return dd
        });
        console.log(this.capabilities);
      }
     
      methode1() {
        console.log(this.capabilities);
      }
     
    }
    Avec le console.log qui est dans le then, j'ai bien ce que je veux, le console.log qui est � la fin du constructeur me renvoie la Promise (Promise { <state>: "pending" }) et non le r�sultat de la Promise

    Comment affecter le r�sultat de la Promise � une variable du constructeur, pour pouvoir l'utiliser ensuite dans les diff�rentes m�thodes de la classe ?


    Merci,
    Nico

  2. #2
    Membre chevronn�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2022
    Messages
    353
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 353
    Par d�faut
    Bonjour,
    Premi�re chose qui va pas Fetch c'est une fonction asyncrhone donc tant que tu met pas de async await c'est normal que ca te retourne la promise
    Mais sinon le code corrig� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class MaClass {
      constructor(url) {
        this.url = url;
        this.capabilities = fetch(this.url)
          .then(response => response.text())
          .then(data => {
            console.log(data);
            return data;
          });
      }
     
       async methode1() {
        // Wait for the capabilities to resolve
        const resolvedCapabilities = await this.capabilities;
        console.log(resolvedCapabilities);
      }
    }
     
     
    var test= new MaClass("http://localhost")
    test.methode1()
    Cdt

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    491
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 491
    Par d�faut
    Donc si je comprend le code, � chaque fois que j'appelle m�thode1, il relance le fetch, et donc il refait une requ�te sur le serveur distant.

    Nico

  4. #4
    Membre chevronn�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2022
    Messages
    353
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 353
    Par d�faut
    Tu vois un fetch dans la m�thode1 ?
    C'est juste un getter actuellement

    Si tu en voulais un rajoute le ... J'ai peut �tre pas compris le truc

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    491
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 491
    Par d�faut
    l� je suis un peu perdu, d�sol�, mais je d�bute dans les async/ await ...
    t'aurais pas un petit exemple complet?

    Pour ce qui est de la methode1() que j'ai mis dans mon code, c'�tait pour l'exemple, mais au final, il y aura dans ma classe des m�thodes plus complexes que de r�cup�rer la valeur d'une variable de la classe...

    Nico

Discussions similaires

  1. classe javascript et ie sur onclick
    Par The_Pretender dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 11/10/2007, 23h04
  2. [POO] Classe et surchage de constructeur
    Par LeXo dans le forum Langage
    R�ponses: 3
    Dernier message: 09/07/2007, 18h09
  3. Classe imbriqu�e et son constructeur
    Par toninlg dans le forum C++
    R�ponses: 7
    Dernier message: 30/09/2006, 06h21
  4. [AJAX] Soap Ajax classe javascript
    Par sekaijin dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 13/06/2006, 08h50
  5. R�ponses: 13
    Dernier message: 02/02/2005, 00h21

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