더북(TheBook)

56.4 간단한 async와 await 키워드 사용 예제

C# 입문 과정에서 콘솔 기반으로 asyncawait 키워드를 사용하기는 쉽지 않습니다. 이 경우에는 이미 닷넷 API로 제공하는 HttpClient 클래스로 asyncawait 키워드가 사용되는 형태를 먼저 익혀 두면 좋습니다. 우선 비주얼 스튜디오에서 .NET Core 콘솔 프로젝트를 만들고, 다음 내용을 입력한 후 실행해 보세요. URL 입력 부분에는 실행이 되지 않을 때 다른 URL을 넣어도 됩니다. 집필 시점에서는 .NET Core 3.1 환경의 콘솔 앱에서 실행했습니다.

async와 await 키워드 사용: AsyncAwaitSimple.cs

using System;
using System.Net.Http;
using System.Threading.Tasks;

class AsyncAwaitSimple
{
    //① 비동기 메서드를 호출하는 DoAsync() 메서드를 생성할 때는 async 키워드를 붙임
    static async Task DoAsync()
    {
        using (var client = new HttpClient())
        {
            //② .NET API의 비동기 메서드를 호출할 때 await 키워드를 붙임
            var r = await client.GetAsync(
                        "https://dotnetnote.azurewebsites.net/api/WebApiDemo");
            var c = await r.Content.ReadAsStringAsync();

            Console.WriteLine(c);
        }
    }

    //③ Main() 메서드를 async 키워드를 붙여 비동기 메서드로 변경
    static async Task Main()
    {
        //④ 비동기 메서드를 호출할 때 await 키워드를 앞에 붙임
        await DoAsync();
    }
}

실행 결과

{"name":"박용준"}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.