Promiseが返ってくるけど別にawaitする必要ない(できない場合も多々な)ときにWebStormでは以下のような警告が出てしまいます。
上記のキャプチャはaws-amplifyというライブラリの非同期メソッド"federatedSignIn"を使用しています。
ほんとに些細なことですが、警告が残ってるのは気になるし、一番最初にIDEより提案される解決方法がthen()
をつけるというものです。
これもまた、あってもいいけど不要だしな…とずっと思っておりました。
これに対して個人的にいいと思う解決方法があったのでメモ的に。
解決法
void
をつける。
以上。
軽く解説
あまりJavascriptを書いていて単一のStatementでvoidと書いたことが無かったので改めて調べてみました。
簡単に言えばその式の生み出す値をundefinedにするということのようです。
つまり今回で言えばPromiseが生まれていたのがundefinedになったので警告が消えたということですね。
返却値が不要なので記述的にも意味があっており、すっきりして非常に良い解決法だと思いました。