18.3.1.1 Thunk란?

    Thunk는 특정 작업을 나중에 할 수 있도록 미루기 위해 함수 형태로 감싼 것을 의미합니다. 예를 들어 주어진 파라미터에 1을 더하는 함수를 만들고 싶다면 다음과 같이 작성할 것입니다.

    const addOne = x => x + 1;
    addOne(1); // 2

    이 코드를 실행하면 addOne을 호출했을 때 바로 1 + 1이 연산됩니다. 그런데 이 연산 작업을 나중에 하도록 미루고 싶다면 어떻게 해야 할까요?

    const addOne = x => x + 1;
    function addOneThunk (x){
    const thunk = () => addOne(x);
    return thunk;
    }
    
    const fn = addOneThunk(1);
    setTimeout(() => {
    const value = fn(); // fn이 실행되는 시점에 연산
    console.log(value);
    }, 1000);

    이렇게 하면 특정 작업을 나중에 하도록 미룰 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.