CommonJS promise ( QdownloadAsync()
を使用) を返す関数があります。次の 2 つの方法で失敗する可能性があります。
- ファイルはすでにダウンロードされている可能性があり、その場合はすぐにわかります。
- ダウンロード プロセスが失敗する可能性がありますが、その場合はしばらくしてからわかります。
(1) の場合、非同期が発生する前にわかっているため、例外をスローできます。(2)の場合、私は約束を拒否しなければなりません。
私の質問は、API を統一し、約束を拒否することで常にエラーを通知する必要があるかどうかです。または、すぐに判断できる無効な状態条件に対して例外をスローする必要がありますか? 別の例として、ユーザーが無効な引数を渡した場合、promise を拒否するよりもエラーをスローする方が賢明に思えます。
「例外的な」約束の拒否が実際にどのように行われるかについての明確さも同様に素晴らしいでしょう。そこでの使用法は、例外的な使用法と 1 対 1 で対応していますか?それとも例外的でない障害にも使用しますか?