VueJS cara menunggu data axios sebelum meneruskan
P粉520204081
P粉520204081 2023-08-26 10:34:00
0
1
406

Saya mempunyai kod ini yang sepatutnya menghuraikan data kepada pembolehubah dan kemudian menghantar permintaan siaran.

Masalahnya ialah, saya memerlukan harta daripada API tetapi saya tidak tahu bagaimana untuk menunggu ia kembali.

addFieldData(data, generatorData) { this.populateModel(data); console.log(this.model); this.$axios.post('data/webform/fields', this.model) .then(res => { console.log(res); ini.$notify({ kumpulan: "app", tajuk: ini.$t("general.success"), teks: ini.$t("umum.tindakan_telah_diproses"), jenis: "info" }); }).tangkap(ralat => { ini.$notify({ kumpulan: "app", tajuk: ini.$t("error.error"), teks: ini.$t("error.error_ocured"), jenis: "ralat" }); console.log(error); }); }, populateModel(data) { this.model.label = data.label ?? {}; this.model.hint = data.placeholder {}; this.model.attributes = data.attributes {}; this.model.maxlength = data.maxlength 0; this.model.position = this.getFieldPosition(); this.model.required = data.required true; 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 = tunggu ini.$axios.get('/data/webform/' + this.idWebform + '/itemsCount'); this.model.position = res.data.data.count + 1; kembalikan res.data.data.count; },

Dalam addFieldData, saya memanggil populateModel, yang sepatutnya mendapat kedudukan daripada API, tetapi panggil permintaan siaran sebelum getFieldPosition mengembalikan data.

Saya mahu cuba menunggu getFieldPosition dahulu dan kemudian menghantar permintaan siaran.

P粉520204081
P粉520204081

membalas semua (1)
P粉178132828

Pertama sekali, anda sepatutnya mempunyaiasync/await的所有内容,而无需任何.then.
Jangan campur kedua-duanya. Gunakan yang pertama.

Kemudian, dalam kaedahasync populateModelanda, anda sepatutnya mempunyai

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

KeranagetFieldPositionadalah tak segerak.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!