일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- go
- http
- Callback
- Close
- Golang
- bitcoin
- install
- go언어
- channel
- package
- 리뷰
- Sync
- c++
- write
- window
- File
- API
- GO 언어
- Linux
- 책
- json
- JavaScript
- C
- range
- mutex
- windows
- Python
- 영화
- FOR
- tcp
- Today
- Total
목록Callback (5)
Code Habit
c++ 11 이상부터는 std::function, std::bind 사용하여 callback 함수를 묶어 호출하는 패턴을 사용할 수 있다. class CallbackClass { public: void Callbackfunction(int x) { std::cout
Promise는 자바스크립트 비동기 처리에 사용되는 객체이다. 대부분의 작업이 비동기로 이루어지는 자바스크립트에서 콜백함수로 인한 복잡도가 높아지는 문제를 해결하기 위해 Promise 패턴이 고안되었다. Promise는 콜백 중첩으로 인한 문제점들을 해소하면서 비동기 작업들의 컨트롤이 수월해지고 코드의 가독성을 높이는데 기여하였다. 다음은 Promise를 사용하는 기본 예제이다. // Promise 생성 const promise = (param)=> { return new Promise((resolve, reject)=> { if(param) { resolve("true"); } else { reject("false"); } }); }; // Promise 실행 promise(true) .then((me..
콜백함수(Callback Function)란 코드를 통해 명시적으로 호출하는 함수가 아니라, 함수를 등록해 놓으면 어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수를 말한다. 콜백함수는 사용자 이벤트 처리나( Event Handler ) 네트워크 응답 처리 등의 비동기적 처리를 요할 때 사용된다. 콜백함수의 사용 예다. - 다른함수의 파라미터로 전달 function hello(callback) { callback("hi"); } function callbackFunc(msg) { console.log(msg); } hello(callbackFunc); - Event Handler 등록 const btnElement = document.querySelector("#buttonTes..
has-a 모델의 두개의 클래스 간 정보를 주고 받기 위해서는 callback을 활용할 수 있다. 예를들어 class A가 class B를 갖고 있다고 하자. A클래스 객채에서는 B클래스에 있는 변수나 함수를 사용하기 용이하지만 B클래스 객체에서는 A클래스에 접근하기 힘들다. 이럴때 callback을 이용하여 B클래스에서 A클래스에 있는 변수나 함수에 접근할 수 있다. ( 보통 B클래스 작업을 마무리 하고 A클래스에 통보할 일이 필요할 때 이를 활용하게 된다.) ex) class Callback { public: // 구현은 이를 상속하는 클래스에서 하기 때문에 // virtual 즉, 가상의 함수로 선언한다. virtual void done() = 0; }; class B { public: // cal..
콜백함수는 자신의 정보가 갱신되거나 이벤트가 발생했을 때 자신을 호출하는 객체에게 알려주는 역할을 한다. 일을 맡기고 다 되었는지 수시로 확인하는 것보다 일을 하는 쪽에서 일이 완료되면 통보해주는 것이 효율적이다. 예를 들자면 우리가 밥을 지을 때 밥을 안치고 수시로 밥솥을 열어보며 밥이 다 되었는지 확인하는 것보다 밥이 완료되면 밥솥이 밥이 완료되었음을 알리는 것이 효율적이다. 이러한 개념이 적용된 것이 콜백함수라고 할 수 있다. 예제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #include typedef void(*pfCallback)(); // 콜백함수 ..