これら 2 つのアプローチは同じだと思われるかもしれません。ただし、return と return await には決定的な違いがあります。
データベースクエリなどの Promise を扱うときは、一般的に await を使用します。例:
async function getUserById(userId) { const user = await userRepository.findById(userId); return user; }
ただし、この場合、厳密には await を使用する必要はありません。次のように書くことができます:
function getUserById(userId) { return userRepository.findById(userId); }
どちらのオプションも正常に機能します。
try/catch ブロックがある場合、動作は異なります。これを認識していないと、予期しないエラーが発生する可能性があります。
function getUserById(userId) { try { return userRepository.findById(userId); } catch (error) { console.error(error.message); } }
findById でエラーが発生した場合、それは捕捉されず、問題になる可能性があります。ここで return await を使用する必要があります。
async function getUserById(userId) { try { return await userRepository.findById(userId); } catch (error) { console.error(error.message); } }
これで安全になり、エラーは catch ブロックに分類されます。
要約すると、catch ブロックでエラーを処理する必要がある場合は、return await を使用してアプリケーションが正しく動作することを確認する必要があります。
以上がJavaScriptのreturnとreturn awaitの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。