타이머 관련 모듈
setTimeout(callback, millisecond)
-> 일정 시간 후에 함수를 실행
setInterval(callback, miilisecond)
-> 일정 시간의 간격을 가지고 함수를 반복적으로 실행
clearInterval(timerId)
-> 반복 실행중인 타이머를 종료
clearTimeout(setTimeoutId)
-> setTimeout을 종료
Node.js 모듈
Node.js : 비동기 이벤트 기반 자바스크립트 런타임, 로컬 환경에서 자바스크립트를 실행할 수 있는 자바스크립트 런타임
모듈? 어떤 기능을 조립할 수 있는 형태로 만든 부분
파일을 읽을 때 적합한 메소드 : readFile
파일을 저장할 때 적합한 메소드 : writeFile
모든 모듈을 사용하기 위해 불러오는 과정이 필요함
브라우저에서 다른 파일을 불러올 때에는 script태그를 이용
Node.js에서는 자바스크립트 코드 가장 상단에 require 구문을 이요하여 다른 파일을 불러옴
const fs = require('fs'); // 파일 시스템 모듈을 불러옴
const dns = require('dns'); // DNS 모듈을 불러옴
=> fs.readFile 메소드 사용 가능
3rd-party 모듈 : 해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈이 아닌 모든 외부 모듈
써드 파티 모듈을 사용하기 위해선 npm을 통해 모듈을 설치 후 사용가능
npm install underscore
설치 후 Node.js가 내장 모듈을 사용하듯 require구문을 통해 사용
const _ = require('underscore');
fs.readFile
fs.readFile(path (, options), callback)
메소드 fs.readFile은 비동기적으로 파일 내용 전체를 읽음
path : 파일 이름을 인자로 넘길 수 있음, 네가지 종류의 타입을 넘길 수 있지만 일반적으로 string타입으로 넘김 (string, Buffer, URL, integer)
options : 넣을 수도 있고 넣지 않을 수도 있음, 객체 또는 문자열 형태로 넘길 수 있음
callback : err, data를 인자로 받아 콜백으로 받은 함수애서 읽고, 파일을 비동기적으로 실행
fs.readFile은 다른 비동기 방법들(callback, promise, async await)을 사용하기 전 비동기적 파일을 읽도록 해준 메소드