この記事ではasync/awaitについて完全に理解する[1]ことを目標に説明します。 完全に理解するために一部厳密には正確ではない表現をしますがご了承ください。 (明らかに事実と異なる内容が含まれている場合はご指摘いただけると助かります) ちなみにC#の文法説明になりますが、他の言語でも基本的な考え方は同じはずです。例えばJavaScriptの場合はTask型をPromise型に置き換えていい感じに読んでください。 非同期処理とTask型 async/awaitを完全に理解するためには、非同期処理の扱い方について完全に理解する必要があります。 そもそも非同期処理って何?という方はググってください。同期処理と非同期処理の違いについては完全に理解した前提で説明します。 非同期処理は複数のタスクを同時並行に処理するためのものですが、実際にコードを書いていると非同期で処理しているタスクが終わるま
![async/await を完全に理解する](https://cdn-ak-scissors.b.st-hatena.com/image/square/ffdb3786d7918d85c1d21d52405c420306ab4639/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--C39kFJjP--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3Aasync%25252Fawait%252520%2525E3%252582%252592%2525E5%2525AE%25258C%2525E5%252585%2525A8%2525E3%252581%2525AB%2525E7%252590%252586%2525E8%2525A7%2525A3%2525E3%252581%252599%2525E3%252582%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3A%2525E3%252581%2525B0%2525E3%252581%2525A4%2525E3%252581%252597%2525E3%252581%252584%252520%25252F%252520vatscy%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2hsdzB5SEJrYWFvYkFJSHNFc1lScHhzVUE0ekNwY0ZLQnNaenpBPXMyNTAtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)