본문 바로가기

.NET

콜백함수 개념 Callback Javascript C# 에서 사용 | ChatGPT

728x90
반응형

콜백함수

- 함수에 파라미터로 들어가는 함수
- 순차적으로 실행하고 싶을 때

Javascript 에서 콜백함수 예제

document.querySelector('.button').addEventListener('click', function(){
	//...
})

클릭 이벤트 이후에 function 을 실행한다.

C# 에서 콜백함수 예제

using System;

namespace CallbackExample
{
    // 콜백을 받는 함수를 정의합니다.
    public class Worker
    {
        public void DoWork(Action<string> callback)
        {
            Console.WriteLine("작업을 시작합니다.");
            // 시간이 오래 걸리는 가상의 작업을 수행합니다.
            System.Threading.Thread.Sleep(2000);
            Console.WriteLine("작업이 완료되었습니다.");

            // 작업 완료 후 콜백 함수 호출
            callback("작업 결과 전달");
        }
    }

    class Program
    {
        // 콜백 함수로 전달될 메서드
        public static void CallbackMethod(string result)
        {
            Console.WriteLine("콜백 함수 호출됨: " + result);
        }

        static void Main(string[] args)
        {
            Worker worker = new Worker();
            // 콜백 함수를 Worker 클래스의 메서드로 전달하여 비동기 작업을 수행합니다.
            worker.DoWork(CallbackMethod);

            Console.WriteLine("메인 메서드 종료");
        }
    }
}

이 예에서 Worker클래스의 DoWork 메서드는 작업을 완료한 후 콜백 호출을 호출한다.

Main 메소드에서 CallbackMethod 메소드를 DoWork 로 호출하여 메소드를 콜백으로 전달하고,
작업이 완료되면 해당 콜백 호출되어 결과를 출력한다.

출처 | ChatGPT

728x90
반응형