더북(TheBook)

이제 Promise를 이용한 예제를 작성해보면서 알아보겠습니다. svelte.dev 웹 사이트에서 REPL을 열고 다음과 같이 작성합니다.

REPL의 App.svelte, Promise를 이용한 예제
<script>
    // async 함수 정의
    async function promiseFunc(){
        const result = new Promise((resolve, reject) => {
            // 비동기 함수 setTimeout 실행 부분
            setTimeout(()=>{
                resolve("Hello Universe~!"); // 1초 후 실행
            },1000);
        });
        const rtn = await result; // resolve 호출 때까지 기다림
        return rtn;
    }
</script>

스크립트 블록을 작성했습니다. new Promise 함수의 파라미터로 무기명 함수(콜백 함수)를 넣었습니다. 바로 비동기로 실행될 부분이지요. 비동기 처리는 setTimeout 함수를 이용했습니다.

setTimeout 함수를 이용하여 1초가 지나면 “Hello Universe~!” 문자열을 반환하는 코드를 작성했습니다. 여기서 반환값은 콜백 함수에서 넘겨받은 resolve 함수를 통해서 전달합니다.

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