【ISSUE】非同期処理と同期処理

0

2024年12月23日 8:40

はじめに

フロントエンドで理解が必須の、非同期処理と同期処理について書いていきます。

非同期処理と同期処理の関係

同期処理

ある処理の完了を待たずに、別の処理から実行していく通信方法になります。
サンプルコードで解説します。
img
出力結果は以下になります。
img

このように、時間のかかる処理を待たずに、別の処理を実行していくのが非同期処理となります。

同期処理

同期処理は、非同期処理の逆で、順番に処理を実行していく通信方法になります。
サンプルコードは以下です。
今回は、asyncとawaitを使って、同期処理を実現しています。
img
実行結果は以下になります。
img
このように、同期処理は、上から順番に処理を行なっていきます。

使いこなすためのベストプラクティス

非同期関数:
非同期処理を行う関数は、必ず async キーワードを付けて定義し、await を使用して非同期操作の完了を待つようにします。これにより、コードの意図が明確になり、エラーハンドリングも容易になります。

Promiseとコールバック:
コールバックベースの非同期処理は、コードのネストが深くなる可能性があるため、可能な限り Promise を使用して処理をチェーンすることを推奨します。

非同期のネストを避ける:
非同期処理のネストを深くしないように注意し、必要に応じて Promise.all や async/await を使用して複数の非同期操作を同時に待機することで、コードの複雑さを抑えることができます。

エラーハンドリング:
非同期処理ではエラーハンドリングが重要です。try/catch ブロックを使用して非同期操作の中で発生するエラーを適切にキャッチし、処理するようにします。

パフォーマンスの最適化:
非同期処理の適切な活用により、アプリケーションのパフォーマンスを向上させることができます。ただし、過剰な非同期処理は逆にオーバーヘッドを引き起こす可能性があるため、バランスを保つことが重要です。

非同期処理と同期処理の組み合わせにより、アプリケーションの効率性とユーザーエクスペリエンスを向上させることができます。適切な場面で使い分けることで、柔軟で高性能なコードを実現できます。

最後に

他にも色々な記事を書いているので、よければ読んでいってください、、、
基本設計について
Vue.jsとNode.jsでチャットアプリを作った
Next.js×TypeScriptでTODOアプリを作成する
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。