예를 들어 소프트웨어 설치 과정에서와 같이 몇 가지 단계 프로세스가 있다고 가정 해 보겠습니다.UI 프로그래밍 콜백 대신 사용할 수있는 방법은 무엇입니까?
각 단계는 텍스트 상자를 표시하고 사용자가 "다음"버튼을 클릭 할 때까지 기다립니다. 각 연속으로 처리하면 분할에 가지고 많은 단계가있을 때
process
{
Dialog1() // Will call callback2 when closed
}
callback2()
{
Dialog2() // Will call callback3 when closed
}
callbak3()
{
Dialog3() // Will call callback4 when closed
}
이 기술은 코드가 꽤 읽을 수 있습니다 :
을 수행하는 표준 방법은 다음과 같이 콜백을하는 것입니다 콜백 함수 ( 컨텍스트를 저장하는 것은 물론).
읽기 쉬운 방법은 무엇입니까? 이상적으로 프로세스가 다음과 같이 읽어야 :이와
process()
{
Dialog1()
callback1() // stop method until closed
Dialog2()
callback2() // stop method until closed
Dialog3()
callback3() // stop method until closed
}
문제는 UI 스레드를 중지 할 수 있다는 것입니다. 어떤 아이디어 나 해결 방법도 매우 감사 할 것입니다.
PS :이 같은
답변
그래서이 페이지를 발견했습니다 마틴 B에 발견 된 코 루틴 덕분 가진 후 C 또는 목표 C에서 일하기 : https://stackoverflow.com/posts/4746722/edit을하고이 코드를 사용하여 종료를 :
나는 기능적인 구조를 가지고 있지 않기 때문에 C가 싫다. 이것은 기능적 언어로 완벽하게 표현 될 수 있습니다 (예.자바 스크립트) * continuations *. –