Nuxtを使ってはいるのですが、非同期関数での戻り値を明示しているにもかかわらず例えば以下のようにresultにマウスオーバーしてもtestAsyncMethodの戻り値のPromise<Hoge>は表示されずanyとなるようです。
ts
1type Hoge = { 2 huga: string 3 piyo: number 4} 5 6type Funcs = { 7 [key: string]: Function 8} 9 10const funcs : Funcs = { 11 testAsyncMethod: async () : Promise<Hoge> => { 12 const hoge = await returnHoge() 13 return hoge 14} 15 16const result = await funcs.testAsyncMethod()
これはなぜでしょうか?例えば以下のようにHoge型であると明示すれば当然 Hoge 型だと表示してくれます。
通常関数の戻り値で型推論してくれると思うのですが、こちら非同期関数だからなのか、それともfuncsというオブジェクトの中の関数だから?だったりするのでしょうか?
ts
1const result: Hoge = await funcs.testAsyncMethod()
以上ご存じの方いましたら大変お手数ですがご教示いただけますと有難いです。
よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/20 01:42
2022/06/20 02:46
2022/06/20 07:02
2022/06/20 08:04 編集
2022/06/21 01:15