나는 약속의 반환시 모두 똑같은 동작을 수행하는 여러 가지 기능을 가지고 있습니다. this.client
은 일련의 API 호출에 대한 래퍼이며 응답이나 오류를 반환합니다. 나는이 모든 것을 똑같은 방법으로 처리하고 싶다.typescript의 일반적인 핸들링 응답/오류
모든 아이디어를 하나의 라이너로 줄일 수 있습니까?
successHandler = (response:any)=>{
return {success: true, result: response};
}
errorHandler = (error:any)=>{
return {success: false, err: err };
}
하고 모든 요청에 대해
,getHealthCheck() {
return this.client.tools.healthcheck().then(this.successHandler).catch(this.errorHandler);
}
// other calls
그것의 DRY 원칙을 :
getHealthCheck() {
return this.client.tools.healthcheck().then((response) => {
return {success: true, result: response};
}).catch((err) => {
return {success: false, err: err };
});;
}
createUser(data) {
return this.client.users.create(data).then((response) => {
return {success: true, result: response};
}).catch((err) => {
return {success: false, err: err };
});;
}
createCardAccount(data) {
return this.client.cardAccounts.create(data).then((response) => {
return {success: true, result: response};
}).catch((err) => {
return {success: false, err: err };
});;
}
createBankAccount(data) {
return this.client.bankAccounts.create(data).then((response) => {
return {success: true, result: response};
}).catch((err) => {
return {success: false, err: err };
});;
}
makePayment(data) {
return this.client.items.makePayment(data).then((response) => {
return {success: true, result: response};
}).catch((err) => {
return {success: false, err: err };
});;
}
나는 문서 다음, 비슷한 구현을 시도했다 :은 https ://www.typescriptlang.org/docs/handbook/generics.html 이것은 앞으로 TS에서 나의 접근 방식을 바꾸고 있습니다. 정말 공유 주셔서 감사합니다. –