• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

setTimeout() VS tick() 처리로직 과 `범용성`에 관한 질문 입니다

21.02.07 07:59 작성 조회수 208

1

아래 Wondam Jung 님 질문에서 정리 해 주신글 잘 보았습니다. 댓글로 질문을 남기려다 관련성이 떨어진다 싶어 새로 질문을 작성했는데요,


저는 `tick()` 적용하시리라 생각했는데 setTimeout 은 의외적으로 느껴졌습니다.

  1.  컴포넌트 외부에서는 tick() 처리를 하지 않으신 이유를 알수 있을까요?
    (tick() 처리가 효율적이지 않아서일까요?? 아니면 다른 문제가 있는건지...)
    그리고,

  2. setTimeout 처리 방식을 다른 라이브러리같은
    Vue 나 React 의 경우에도 사용이 가능하겠지요?
    (내부적으로 처리되게 하는 방식이 있겠지만요..)



읽어주셔서 감사합니다.

답변 2

·

답변을 작성해보세요.

1

Truestar님의 프로필

Truestar

질문자

2021.02.08

찾아보니 엄청 골이 깊은 내용이군요..
답변 감사합니다🙂

알려주신 process.nextTick.js 에 관한 글 공유합니다.
Outsider's Dev Story - process.nextTick() 이해하기

1

이유는 아주 간단합니다.
tick은 Svelte 데이터의 화면 갱신(반응성) 이후 처리에 관한 기능이고,
setTimeout은 기본 콜 스택 지연 실행에 관한 활용입니다.
물론 tick 내부 구현도 setTimeout을 활용하는 등 원리는 비슷합니다만,
서로 목적이 다르다고 이해하시면 쉬울 듯합니다.

setTimeout을 활용한 처리 방법은 Vue, React와는 전혀 상관없이 필요한 곳에서 마음껏 사용하시면 됩니다.
사실 setTimeout 활용도 개념 설명이 쉬운 편이라 강의에서 사용하지만,
살짝 구식이라 다음 링크의 코드를 참고해 보시면 좋을 듯합니다.

process.nextTick.js