Promise.all()의 인자에는 당연히 promise 객체가 들어가야 한다.
funcs의 함수들을 호출하는 과정에서 각 함수는 promise를 return해줘야 함.
근데 api들을 실행만 했음.
이러면 Promise.all()의 response로 빈배열이 나왔을것.
promise.all의 인자를 함수로 감싸고 싶을때에는 return을 꼭 해주자
const revokeToken = () => {
// 기존 코드
// $mydataApi.post(`/revokeToken`, params);
return $mydataApi.post(`/revokeToken`, params);
};
const deleteContract = () => {
// 기존 코드
// $heartApi.delete(`/heart/v1.3/mydata/insurance/contracts/org-codes/${org_code.value}`);
return $heartApi.delete(`/heart/v1.3/mydata/insurance/contracts/org-codes/${org_code.value}`);
};
const disagreeMydata = () => {
// 기존 코드
// $heartApi.post(`/heart/v1.3/mydata/insurance/disagree`);
// postOptIns(['mydata_agreement_app_1'], { value: 'N' });
return Promise.all([$heartApi.post(`/heart/v1.3/mydata/insurance/disagree`), postOptIns(['mydata_agreement_app_1'], { value: 'N' })]);
};
const handleRevoke = async () => {
const funcs = [revokeToken(), deleteContract()];
if (route.query.isLastItem === 'true') {
funcs.push(disagreeMydata());
}
try {
await Promise.all(funcs);
isRevokeConfirmModalVisible.value = false;
} catch (error) {
console.log(error);
}
};