VueJS comment attendre les données axios avant de continuer
P粉520204081
P粉520204081 2023-08-26 10:34:00
0
1
418

J'ai ce code qui est censé analyser les données en variables, puis envoyer une demande de publication.

Le problème est que j'ai besoin d'une propriété de l'API mais je ne sais pas comment attendre son retour.

addFieldData(data, generatorData) { this.populateModel(données); console.log(ce.modèle); this.$axios.post('data/webform/fields', this.model) .then(res => { console.log(res); ceci.$notifier({ groupe : "application", titre : this.$t("succès.général"), texte : this.$t("general.action_has_been_processed"), tapez : "infos" }); }).catch(erreur => { ceci.$notifier({ groupe : "app", titre : this.$t("erreur.générale"), texte : this.$t("general.error_occured"), tapez : "erreur" }); console.log(erreur); }); }, populateModel (données) { this.model.label = data.label ?? {}; this.model.hint = data.placeholder ?? this.model.attributes = data.attributes ?? {}; this.model.maxlength = data.maxlength ?? this.model.position = this.getFieldPosition(); this.model.required = data.required ?? this.model.visible = data.visible ?? this.model.disabled = data.disabled ?? this.model.style_classes = data.style_classes ?? this.model.model = data.model ?? this.model.default = data.default ?? this.model.input_type = data.input_type ?? this.model.hint = data.hint ?? this.model.help = data.help ?? this.model.type = data.type; }, async getFieldPosition() { const res = wait this.$axios.get('/data/webform/' + this.idWebform + '/itemsCount'); this.model.position = res.data.data.count + 1 ; renvoyer res.data.data.count ; }, 

Dans addFieldData, j'appelle populateModel, qui devrait obtenir la position de l'API, mais j'appelle la demande de publication avant que getFieldPosition ne renvoie les données.

Je souhaite d'abord essayer d'attendre getFieldPosition, puis d'envoyer une demande de publication.

P粉520204081
P粉520204081

répondre à tous (1)
P粉178132828

Tout d’abord, vous auriez dûasync/await的所有内容,而无需任何.then.
Ne mélangez pas les deux. Utilisez le premier.

Ensuite, dans votre méthodeasync populateModel, vous devriez avoir un

this.model.position = await this.getFieldPosition()

Parce quegetFieldPositionest asynchrone.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!