Closed2
await/catchでの、catchメソッドへの関数の渡し方
たとえば、クラスAを継承したクラスBで、
const res = await cart.update(cart.id, data).catch(() => this.sendServerError());
こういうメソッドがあるとする。
sendServerError()
はクラスAのメソッドで、そのなかでクラスAのメンバー変数であるres
を参照しているとする。
そのときに、
const res = await cart.update(cart.id, data).catch(this.sendServerError);
とすると、res
はundefined
になってしまう。
これはなぜか。
後者だと、thisがcatchの呼び出し元になってしまうからっぽい。
このスクラップは2021/11/09にクローズされました