2016-09-25 4 views

답변

1

내가 아는 한, 콜백의 일반적인 의미 - 이벤트에 응답하여 호출되는 함수. 예를 들어 React Component에는 구성 요소의 수명주기의 여러 단계에서 호출되는 componentDidMount과 같은 많은 함수가 있습니다. scalajs-react에서 이들은 CallbackTo[Unit]을 반환하는 함수로 구현되며, 형식 별칭으로 인해 Callback이라고도 쓸 수 있습니다. 예를 들어 ReactComponentBcomponentDidMount 콜백을 추가 할 경우 def componentDidMount(f: DuringCallbackM[P, S, B, N] => Callback): ReactComponentB[P, S, B, N]을 사용합니다.

자바 스크립트에서는 구성 요소가 componentDidMount 함수 (또는 다른 콜백)에서 이벤트의 부작용을 즉시 실행해야합니다. scalajs-react에서 컴포넌트는 대신 Callback에 이러한 효과를 래핑하고 반환합니다. 이를 통해 scalajs-react 시스템이 Callback에서 실제 코드 실행을 지연시킬 수 있습니다. 이는 나중에 runNow()을 호출하여 수행됩니다. 또한 Callbacksmap, flatMap, >> 등을 사용하여 결합됩니다. runNow()이 결국 호출되지 않으면 실행되지 않으므로 Callback을 나중에 다른 코드로 반환하지 않으면 생성하지 않고 그냥 아무것도 수행하지 않습니다.

여기에 much more about Callback in the docs이 있습니다.