250x250
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
- 호이스팅
- 자바스크립트
- Jest
- pm2
- manytomanyfield
- 장고초기세팅
- Django
- docker
- 트랜잭션
- node
- rebase
- TypeError: this.boardRepository.createBoard is not a function
- westagram
- status code
- javascript
- nodeJS
- bcrypt
- on_delete
- 실행 컨텍스트
- OSI7계층
- async/await
- 프로미스
- wecode
- CORS
- crud2
- 노드
- typescript
- JWT
- 스코프
- django westagram
Archives
- Today
- Total
될때까지
fs 본문
728x90
fs
파일 시스템에 접근하는 모듈
- 파일/폴더 생성, 삭제, 읽기, 쓰기 가능
- 웹 브라우저에서는 제한적이었으나 노드는 권한을 가지고 있음
파일 읽기
const fs = require("fs");
fs.readFile('./readme.txt', (err, data) => {
if (err) {
throw err;
}
console.log(data); // 2진법을 16진법으로 바꾼 <Buffer ec a0 80 eb a5 bc 20 ec 9d bd ec 96 b4 ec a3 bc ec 84 b8 ec 9a 94 21> 출력
// buffer는 0,1과 같은 컴퓨터가 다루는 언어라고 생각하기 => 사람이 읽는 언어로 변화시키려면 toString해줘야함
console.log(data.toString());
})
콜백말고 프로미스를 사용하면 코드를 조금 더 간략하게 작성할 수 있다.
const fs = require("fs").promises;
fs.readFile('./readme.txt')
.then((data) => {
console.log(data);
console.log(data.toString());
})
.catch((err) => {
throw err;
});
파일 쓰기
const fs = require("fs").promises;
fs.writeFile('./readme.txt', '글 입력하자')
.then(() => {
})
.catch((err) => {
throw err;
});
입력한 내용을 읽어서 콘솔에 출력하기
const fs = require("fs").promises;
fs.writeFile('./readme.txt', '글 입력하자')
.then(() => {
return fs.readFile('./readme.txt');
})
.then((data) => {
console.log(data.toString())
})
.catch((err) => {
throw err;
});
비동기적 실행
- 결과값이 매번 바뀌는 걸 확인할 수 있다 => 비동기로 실행되기 때문에 결과 예측이 불가하다.(순서 보장 x)
- 콜백함수들이 백그라운드에서 비동기적으로 실행되기때문에 먼저 끝나는 아이들이 콘솔에 찍힌다.
- 운영체제마음임
동기적 실행
순서대로 실행되지만 느리겠지 순서를 유지하니까!
728x90