社会人から始めたプログラミング

プログラミング、エンジニアに関することでの備忘録、シェアしたい情報などを共有するためのブログです。

firebase google function で エラーをどう扱うか検討した。

課題

Promiseのオブジェクトの処理をするとき、reject すると internal server error 500 になってしまって意図したエラーメッセージや返したい要素を返す方法を模索していた

解決方法

reject の中身を reject(new functions.https.HttpsError('failed-precondition', message, details)) みたいにして、解決。

('failed-precondition' の他の引数例はFunctionsErrorCode を参照)

返却されるobject を error とすると

error = {
  code:
  message:
  details:
}

のように、クライアントに返却されるので、error.code error.message error.details でそれぞれの値を取れるようになったので、 firebase google functions 側で返却する値をカスタマイズすることができました。

参照: javascript - How can I return a customized error message from a failed promise in a Google Firebase function? - Stack Overflow

FunctionsErrorCode に使えるのはこちら: "providers/https" | Firebase Functions SDK