私は、約束を返す際に全く同じアクションを実行する多くの機能を持っています。 this.client
は一連のAPI呼び出しのラッパーで、応答またはエラーを返します。私はこれらすべてを同じように扱いたい。typescriptの一般的な処理応答/エラー
これらの方法を1つのライナーに減らすことはできますか?
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における私のアプローチを変更しています。本当にあなたに感謝します。 –