반응형
컴포넌트에서 계산된 비동기 - VueJ?
다음 컴포넌트에서 비동기 계산 방법에 대한 솔루션을 찾고 있습니다.
현재 컴포넌트는 다음과 같습니다.
<div class="msg_content">
{{messages}}
</div>
<script>
export default {
computed: {
messages: {
get () {
return api.get(`/users/${this.value.username}/message/`, {'headers': { 'Authorization': 'JWT ...' }})
.then(response => response.data)
}
}
},
}
</script>
결과:{}
에서 다시 쓰는 방법Promise
모드요? Promise 모드로 쓰면 비동기화할 수 있을 것 같아서요.
계산된 속성은 기본적으로 결과를 캐시하여 필요할 때마다 계산할 필요가 없도록 하는 함수입니다.사용하는 반응 값을 기반으로 자동으로 업데이트됩니다.
계산된 항목은 반응형 항목을 사용하지 않으므로 계산되어도 의미가 없습니다.지금 Promise가 반환됩니다(통상적인 동작으로 가정).then
).
무엇을 달성하고 싶은지는 확실하지 않습니다만, 제가 추측하는 가장 좋은 것은 데이터 아이템을 생성하여response.data
, 그리고 당신의api.get
전화를 걸다뭐랄까
export default {
data() {
return {
//...
messages: []
};
},
created() {
api.get(`/users/${this.value.username}/message/`, {
'headers': {
'Authorization': 'JWT ...'
}
})
.then(response => this.messages = response.data);
}
}
es7은 이 작업을 매우 사소한 것으로 만듭니다.async
그리고.await
공리들의 돌아온 약속과 함께.vue-async 계산 패키지가 필요합니다.
export default {
asyncComputed: {
async myResolvedValue() {
return await api.get(`/users/${this.value.username}/message/`, {'headers': { 'Authorization': 'JWT ...' }})
.then(response => response.data)
}
}
}
언급URL : https://stackoverflow.com/questions/48641295/async-computed-in-components-vuejs
반응형
'IT이야기' 카테고리의 다른 글
vuex 스토어는 개발 서버에서 작동하지만 운영 빌드에서는 작동하지 않습니다. (0) | 2022.07.01 |
---|---|
콘텐츠가 로드될 때까지 애니메이션 로드 표시 (0) | 2022.07.01 |
특정 코드에 대한 소나 끄기 (0) | 2022.07.01 |
Vue.js - 비반응 데이터를 하위 컴포넌트에 전달하는 방법 (0) | 2022.07.01 |
vue-router에 router.reload가 있나요? (0) | 2022.07.01 |