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.
Pertama sekali, anda sepatutnya mempunyai
async/await
的所有内容,而无需任何.then
.Jangan campur kedua-duanya. Gunakan yang pertama.
Kemudian, dalam kaedah
async populateModel
anda, anda sepatutnya mempunyaiKerana
getFieldPosition
adalah tak segerak.