---
title: "190806-TIL | User input event 끝날 때까지 기다리기"
date: 2019-08-06
tags: ["TIL"]
url: https://sub2n.github.io/2019/08/06/190806-TIL/
---

# 190806-TIL | User input event 끝날 때까지 기다리기

## Today I Learned

-   오늘은 프로젝트의 잔 오류를 수정했다.

#### Wait for User to Stop Typing

-   Netflix는 User가 검색창에 한 글자를 입력할 때마다 검색 결과를 화면에 보여주는데, 약간의 텀이 있어 사용자 경험이 부드러웠다.
-   나는 처음에 Keyup Event Handler에서 input value를 가져와 조건에 따라서 검색을 시켰는데, Search component에 쿼리를 붙여서 라우팅 하는 방식으로 구현하다 보니까 검색어가 완성되지 않았을 때 오류가 나며 깜빡이는 이슈가 생겼다.
-   User가 원하는 검색어를 입력할 때까지 기다리는 일이 필요했다! [!wait for user to stop typing](https://schier.co/blog/2014/12/08/wait-for-user-to-stop-typing-using-javascript.html) ◀ 이 글을 참고해서 훨씬 부드러운 검색 화면을 구현했다.
-   setTimeout을 이렇게 쓸 수 있다니 굉장히 유용한 스킬을 배운 것 같아 기분이 좋다.

#### Module 분리

파이널 프로젝트의 구현이 거의 끝나서 모듈을 분리하는 작업을 할 것이다.

Feature module, Shared module, Core module로 분리한다.

-   Feature module : 기능 모듈. 특정 화면을 구성하는 구성 요소
-   Shared module : 공유 모듈. App 전역에서 사용하는 Component, Directive, Pipe 등
-   Core Module : 핵심 모듈. App 전역에서 사용하는 Data Service, Authentication Service, Authentication Guard 등