0
votes

Avoir du mal à retourner plus d'une valeur d'une fonction et d'attribuer les valeurs retournées dans une promesse

J'ai une fonction qui renvoie deux valeurs. J'essaie de renvoyer les valeurs dans un tableau.

componentDidMount() {
        let general = {};
        let values = [];

        //gets selected setting form schema
        getSettingsForms().then((response) => {
            this.setState({settingsForms: response});
            general = response[this.state.selectedSetting];
        }).then(response => {
            values = getSettingsConfig(this.state.selectedSetting, general);
            console.log(values);
        })
    }


1 commentaires

Vous essayez d'attribuer une valeur dans une fonction de synchronisation par une valeur qui vient asynchroniser


3 Réponses :


0
votes

Vous devez utiliser ASYNC attendre pour attendre que la promesse soit résolue, puis utilisez les valeurs variables


0 commentaires

0
votes

Vous pouvez corriger votre problème en utilisant async et attendre xxx


0 commentaires

0
votes

Vous devez renvoyer la promesse dans getSettingsconfig code> afin d'obtenir ses résultats en l'appelant.

// ...
      getSettingsForms().then((response) => {
          this.setState({settingsForms: response});
          general = response[this.state.selectedSetting];
          // resolve the promise here
          getSettingsConfig(this.state.selectedSetting, general).then((values) => {
            console.log(values);
          });
      });
// ...


0 commentaires