Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- hydration mismatch
- 비동기
- RN아키텍쳐
- debounce
- ios
- named type
- React-Native업데이트
- animation
- Hash-table
- motion.div
- react animation
- RN업데이트
- react-native-permissions
- react native
- CS
- javascript
- no-permission-handler-detected
- promise.all
- react
- react-native
- private-access-to-photos
- react-native-image-picker
- Swift
- Promise
- RN새로운아키텍쳐
- axios
- rn
- async
- await
- Throttle
Archives
- Today
- Total
하루살이 개발일지
[Node.js] readline 모듈로 사용자에게 input값을 받아와 출력해주기 본문
💡 readline 모듈이란?
Node.js 환경에서 사용자로부터 입력을 받는 데에 주로 사용됨
💡 간단한 예제 및 설명
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('당신의 이름은 무엇인가요? ', (answer) => {
console.log(`안녕하세요, ${answer}님!`);
rl.close();
});
- require 메서드
- 다른 파일이나 모듈을 불러오는 함수
- require('readline') → ‘readline’ 모듈을 불러와 readline 모듈의 속성을 사용할 수 있게 해줌
- readline 모듈
- Node.js의 내장모듈
- 사용자의 input을 받는 인터페이스 제공
- process.stdin , process.stdout
- ‘process’ 객체 : 현재 실행 중인 프로세스에 관한 정보와 제어 기능 제공
- 걍 사용자한테 입력받아 출력을 보여주고 싶으면 이거 사용하면 됨
- ‘stdin’ (standard input) : 사용자의 input을 받는 데 사용
- ‘stdout’ (standard output) : 프로세스의 출력을 화면에 표시
- readline.createInterface
- ‘readline.Interface’ 객체를 생성
- 이벤트 기반의 API를 제공해, 비동기적으로 사용자의 입력을 처리할 수 있음
- 이벤트는 사용자 입력을 기반으로 발생하므로, 이벤트의 콜백 함수를 사용해 사용자 입력을 처리할 수 있음
- 객체를 인자로 받아, input에는 입력한 값을, output에는 출력 값을 지정 (즉 아까 위에서 말한 process.stdin , process.stdout)
- rl
- ‘readline.createInterface’ 가 반환하는 ‘readline.Interface’ 객체를 변수에 저장한 것
- 즉 rl은 여러가지 메서드와 이벤트를 가지고 있게 됨 (readline.Interface가 제공하는)
- ‘readline.Interface’ 객체를 생성
- rl.question()
- ‘readline.Interface’ 객체가 가진 메서드 중 하나
- 사용자에게 질문을 하고, 사용자의 입력을 받아 콜백 함수로 전달
- 즉 사용자가 입력한 값을 ‘answer’ 라는 매개변수를 통해 콜백 함수에 전달
- rl.close()
- readline 인터페이스 종료
- 호출하면 더 이상 입력을 받지 않음
💡 readline.Interface 객체가 가진 대표적인 메서드 / 이벤트
1. Methods
- setPrompt(prompt): 새로운 프롬프트를 설정
- prompt([preserveCursor]): 설정된 프롬프트를 사용자에게 표시
- question(query, callback): 사용자에게 질문을 하고 답변을 받음
- pause(): 입력 스트림을 일시 중지
- resume(): 일시 중지된 입력 스트림을 다시 시작
- close(): readline 인터페이스를 닫음. 입력 스트림이 열려 있으면 닫힘
- write(data[, key]): 출력 스트림에 데이터를 씀
- on(event, callback): 지정된 이벤트에 대한 콜백 함수를 등록. 이벤트에는 아래에서 설명할 이벤트 이름을 사용
2. Events
- line: 사용자가 한 줄의 입력을 완료하면 발생. 이 이벤트의 콜백 함수는 사용자의 입력을 인자로 받음
- pause: 입력 스트림이 일시 중지되면 발생
- resume: 일시 중지된 입력 스트림이 다시 시작되면 발생
- close: readline 인터페이스가 닫히면 발생
- history: 사용자의 과거 입력을 배열로 제공