Promise() コンストラクター内での async/await の使用: アンチパターン?
このシナリオでは、async を使用しています。同時操作を管理する .eachLimit 関数。ただし、Promise コンストラクター関数内での async/await の使用には懸念が生じます。
Promise Constructor Anti-Pattern
Promise コンストラクターの executor 関数内での Promise の使用。を行っている場合は、アンチパターンとみなされます。コードに例示されているように、主なリスクは、エラーがチェックされずにすり抜けてしまう可能性です。
さらに、async/await により複雑さが増し、これらの問題が見えにくくなる可能性があります。たとえば、コード内:
let p = new Promise(resolve => { ""(); // TypeError resolve(); }); (async () => { await p; })().catch(e => console.log("Caught: " + e)); // Catches it.
ここで、Promise コンストラクター内では TypeError は認識されませんが、async/await を使用すると捕捉されます。このような予期せぬ事態は問題となる可能性があります。
したがって、コードでネストされたコールバックの値にアクセスできる一方で、コードを堅牢で保守しやすいものにするためには、エラーを慎重に処理し、これらのアンチパターンを回避することが不可欠です。
以上がPromise コンストラクター内で async/await を使用するのはアンチパターンですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。