Dart에서 콜백 함수 구현하는 방법

Dart에서 콜백 함수 구현하는 방법
Cozy CodingPosted On Jun 22, 20243 min read

다트를 사용하여 Callback을 사용할 수 있습니다.

Callback은 다른 함수나 메서드에 인수로 전달된 함수입니다. 이를 통해 수신 함수가 콜백 함수를 실행할 수 있습니다.

콜백에 대해 설명하려면 이 예시를 사용할 수 있습니다:

단계 1: success와 인수로 다른 함수를 갖는 request 함수를 생성합니다. success 함수는 인수를 전달 받지 않습니다. success 함수는 request 함수 내에서 실행됩니다.

request(Function success){
  success();
}

단계 2: 호출되었을 때 "success"를 출력하는 또 다른 함수를 생성합니다.

printMessage(){
  print('Success'); //Success
}

Step 3: 이 코드 조각에서는 우리의 코드를 실행할 Function Main을 생성할 것입니다.

void main() {
   
}

만약 Function request를 호출한다면 함수에 인수로 전달해야 합니다. 하지만 이 함수를 이름으로 호출할 때는 괄호( )를 사용할 필요가 없습니다.

void main() {
  request(printMessage); 
}

여기 완성된 코드입니다:

js void main() { request(printMessage); }

request(Function() success){ success(); }

printMessage(){ print('Success'); //Success }

Callback을 사용하는 다른 옵션은 익명 함수를 사용하는 것입니다.

이 스니펫에서는 익명 함수를 인수로 사용하여 함수 요청에 전달합니다. 함수 요청을 호출할 때 함수의 구조를 직접 작성할 수 있습니다.

void main(){
  request((){
    print('Success'); // Success 
 }); 
}

Callback를 사용하는 또 다른 방법을 설명해 드리겠습니다.

단계 1: 인수로 다른 함수를 가지는 request 함수를 변경할 것입니다. 이 함수는 success라는 이름의 함수를 인수로 사용하며 String 타입을 반환하고 String 타입의 인수를 받습니다.

단계 2: success 함수에 인수를 추가하기 위해 request 함수에서 success 함수로 이동하여 인수를 전달할 것입니다.

  request( String Function(String text) success){
      print(success ('Hello world'));
}

Step 3: "request" 함수를 호출할 때 함수의 구조를 인수로 전달하고 받을 인수에 동작을 할당합니다.

코드를 실행하면 "Hello World Success"가 출력됩니다.

void main(){
  request((text){
     return '$text Success'; 
 }); 
} // Hello World Success

여기 완전한 코드입니다:

void main(){
 
 request((text){ 
    return '$text 성공';
   }); 
  } //Hello World 성공
     
 request(String Function(String text) success){
    print(success('Hello World'));
}

이 글이 유용했기를 바랍니다. 귀하의 프로그램 코딩에 활용하실 수 있기를 기대합니다.