VueJS 계속하기 전에 axios 데이터를 기다리는 방법
P粉520204081
P粉520204081 2023-08-26 10:34:00
0
1
499
<p>데이터를 변수로 구문 분석한 다음 게시 요청을 보내는 코드가 있습니다. </p> <p>문제는 API의 속성이 필요하지만 해당 속성이 반환될 때까지 기다리는 방법을 모른다는 것입니다. </p> <pre class="brush:php;toolbar:false;">addFieldData(data, GeneratorData) { this.populateModel(data); console.log(this.model); this.$axios.post('data/webform/fields', this.model) .then(res => { console.log(res); this.$알림({ 그룹: "앱", 제목: this.$t("general.success"), 텍스트: this.$t("general.action_has_been_processed"), 유형: "정보" }); }).catch(오류 => { this.$알림({ 그룹: "앱", 제목: this.$t("general.error"), 텍스트: this.$t("general.error_occured"), 유형: "오류" }); console.log(오류); }); }, populateModel(데이터) { this.model.label = 데이터.라벨 {}; this.model.hint = data.placeholder ?? this.model.attributes = data.attributes ?? {}; this.model.maxlength = 데이터.maxlength ?? 0; 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 = 데이터.모델 "";; 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 = 데이터.유형; }, 비동기 getFieldPosition() { const res = wait this.$axios.get('/data/webform/' + this.idWebform + '/itemsCount'); this.model.position = res.data.data.count + 1; res.data.data.count를 반환합니다. },</pre> <p>addFieldData에서 populateModel을 호출합니다. API에서 위치를 가져와야 하지만 getFieldPosition이 데이터를 반환하기 전에 게시 요청을 호출합니다. </p> <p>먼저 getFieldPosition을 기다린 다음 게시물 요청을 보내려고 합니다. </p>
P粉520204081
P粉520204081

모든 응답(1)
P粉178132828

먼저 async/await 的所有内容,而无需任何 .then가 있어야 합니다.
두 가지를 섞지 마십시오. 첫 번째 것을 사용하십시오.

그런 다음 async populateModel 메소드에

가 있어야 합니다. 으아악

getFieldPosition은 비동기식이기 때문입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿