반응형
vuex에서 약속을 중첩하는 이유는 무엇입니까?
나는 유지합니다.vue
나의 전 프로그래머의 코드.
나는 그의 코드에서 이 코드를 찾았습니다.vuex
모듈.
import axios from "axios";
import qs from "qs";
import httpi from "../httpInstance"; // this is just a wrapper for axios
const getPromise = (context, url) => {
return new Promise((resolve, reject) => {
httpi.get(url).then(
(response) => {
resolve(response);
},
(error) => {
reject(error);
}
);
});
};
// same repeated for 'put', 'post' etc...
저는 그가 왜 이런 식으로 약속을 했는지 궁금합니다.
인ACTIONS
그는 이 래퍼를 사용하여 아래와 같이 백엔드 API를 호출합니다.
const actions = {
[ACT_GET_ALL_RULESOURCE]: function (context) {
return getPromise(context, `${APIURLPREFIX}/polapi/api/rulesource`);
},
그는 이것으로 무엇을 성취하려고 했습니까?
나는 악시오스 이후로 너무 혼란스럽습니다.httpi
) 그 자체가 이미 약속입니다.여기서 요점은 무엇입니까?
**편집
InVue 구성 요소methods
s, 그는 아래와 같은 동작을 사용합니다.
getAllRulesource() {
this.$store.dispatch(`rules/${ACT_GET_ALL_RULESOURCE}`)
.then((res) => {
this.rulesourceList = res.data;
})
.catch((err) => {
this.msg = "Cannot GET rulesource";
})
}
이전 개발자는 약속을 충분히 이해하지 못했습니다.는 것으로 보이기 때문에httpi
약속을 반환합니다(OP 코드 호출).then
그 위에) 기능getPromise
...로 고쳐 쓸 수 있고 또 고쳐 써야 합니다.
const getPromise = (context, url) => {
return httpi.get(url);
};
또는 완전히 제거되었습니다.전화를 걸 사람은 그냥...
httpi.get('http...').then(response => {
console.log(response);
}).catch(error => {
console.log(error);
})
다음과 같이 선언된 함수 내부async
보다 현대적인 발신자 구문은...
try {
const response = await httpi.get('http...');
console.log(response);
} catch(error) {
console.log(error);
}
언급URL : https://stackoverflow.com/questions/71760230/nesting-promises-in-vuex-why
반응형
'programing' 카테고리의 다른 글
DeepL API를 사용하여 텍스트 번역 (0) | 2023.06.17 |
---|---|
pthread_message 및 pthread_message (0) | 2023.06.17 |
-viewWillAppear:와 -viewDidAppear:의 차이점은 무엇입니까? (0) | 2023.06.17 |
문자열 길이가 0이 아닐 경우 Excel 개수 (0) | 2023.06.17 |
스프링 데이터 jpa 쿼리에서 @lock timeout을 지정하는 방법은 무엇입니까? (0) | 2023.06.17 |