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)
})

※動作はあまり確認できていません。