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