앞선 아티클에서 파일을 읽고 쓰는 메서드를 살펴보았습니다.
const fs = require('fs').promises;
const constants = require('fs').constants;
fs.access('./folder', constants.F_OK | constants.W_OK | constants.R_OK)
.then( () => {
return Promise.reject('이미 폴더가 존재함');
})
.catch( (err) => {
if (err.code === 'ENOENT') {
console.log('폴더가 없음');
return fs.mkdir('./folder');
}
return Promise.reject(err);
})
.then( () => {
console.log('폴더 생성 완료');
return fs.open('./folder/file.js', 'w');
})
.then( (fd) => {
console.log('빈 파일 생성 완료', fd);
return fs.rename('./folder/file.js', './folder/newfile.js');
})
.then( () => {
console.log('이름 변경 완료');
})
.catch( (err) => {
console.error(err);
})
/* 출력(첫 실행)
폴더가 없음
폴더 생성 완료
빈 파일 생성 완료 FileHandle {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
close: [Function: close],
[Symbol(shapeMode)]: false,
[Symbol(kCapture)]: false,
[Symbol(kHandle)]: FileHandle {},
[Symbol(kFd)]: 3,
[Symbol(kRefs)]: 1,
[Symbol(kClosePromise)]: null
}
이름 변경 완료
*/
/* 출력(재실행)
이미 폴더가 존재함
*/
우선 현 단계에서 프로미스에 대한 기억이 잘 나지 않을 수 있습니다. 다시 기본적인 프로미스 아티클을 복습해 보도록 하겠습니다.
'Programming > Node.js' 카테고리의 다른 글
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 3 (0) | 2024.06.03 |
---|---|
4. Node 기능 살펴보기 (8) - fs메서드 살펴보기 2 (0) | 2024.05.30 |
4. Node 기능 살펴보기 (7) - 버퍼와 스트림 6 (0) | 2024.05.28 |
4. Node 기능 살펴보기 (7) - 버퍼와 스트림 5 (0) | 2024.05.28 |
4. Node 기능 살펴보기 (7) - 버퍼와 스트림 4 (0) | 2024.05.24 |