Promiseのcatchで共通処理を行い時を考えてみた
Promiseのcatchで、共通の処理を行い時場合にカスタマイズされたcatchを追加してみました。
myCatch という関数を追加しています。
myCatch は、渡されたハンドラーを実行するとともに、共通の処理を実行するようにラップします。
Promise.prototype.myCatch = function(rejectHandler){
const wrappedHandler = err => {
rejectHandler(err)
console.log('共通処理', err)
}
return this.catch.call(this, wrappedHandler)
}
new Promise(resolve => {
resolve(100)
}).then(value => {
console.log(value)
const hoge = []
hoge[1].hoge
}).myCatch(err => {
console.log('各ハンドラーの処理', err)
})
※動作はあまり確認できていません。
最近のコメント