반응형
vuejs로 응답을 보내기 전에 악리 응답을 기다리는 방법
vuejs에는 파일 업로드를 위한 작은 컴포넌트가 있습니다(악시 사용).파일 업로드에서 다음과 같이 응답을 보내려고 합니다.
methods: {
...
upload (){
axios.put(URL).then(response => {
console.log('response', response)
this.$emit('uploaded', response)
}).catch(error => {
})
}
}
하지만 이 코드에서는,console.log()
응답은 양호하게 표시되며, 방출은 표시된다.undefined
응답도 하기 전에 이미지가 호출되고 있는 것 같습니다.
이 문제를 해결하기 위해 비동기/대기 기능을 사용할 수 있는 방법이 있습니까?
console.log 응답은 정상적으로 표시되지만 emiss는 정의되지 않은 것으로 표시됩니다.
어떤 의미인지 잘 모르겠습니다.왜냐하면, 이 응답은, 이 안에서 사용할 수 있는 경우,console.log
내부에서도 사용할 수 있어야 합니다.this.$emit
(단,this.$emit
그 자체가 당신에게undefined
이 경우 범위 지정에 문제가 있지만 화살표 기능을 사용하고 있는 것 같기 때문에 그렇지 않습니다.
응답이 준비되기 전에 방출이 호출된 것 같습니다.
콜백 내에 있기 때문에 요구가 완료된 후에만 콜백이 됩니다.
단, 비동기 / 대기를 시도하려면 다음과 같이 하십시오.
async upload() {
try {
let response = await axios.put(URL);
console.log('response', response)
this.$emit('uploaded', response)
} catch(error) {
// error
}
}
언급URL : https://stackoverflow.com/questions/46990256/how-to-await-axios-response-before-emitting-response-in-vuejs
반응형
'IT이야기' 카테고리의 다른 글
Vue.js 데이터 속성을 인수로 전달하지 않고 메서드 내에서 사용하는 것이 잘못되었습니까? (0) | 2022.07.24 |
---|---|
0에 가까운 부동값이 있으면 0으로 나누기 오류가 발생할 수 있습니까? (0) | 2022.07.24 |
Vuex mapAction을 사용한 '알 수 없는 작업 유형' (0) | 2022.07.24 |
memset()은 C의 루프보다 효율이 높습니까? (0) | 2022.07.24 |
Java에서 목록으로 배열 변환 (0) | 2022.07.24 |