앞선 아티클에서 파일을 읽고 쓰는 메서드를 살펴보았습니다.
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
}
이름 변경 완료
*/
/* 출력(재실행)
이미 폴더가 존재함
*/
우선 현 단계에서 프로미스에 대한 기억이 잘 나지 않을 수 있습니다. 다시 기본적인 프로미스 아티클을 복습해 보도록 하겠습니다.
2. Javascript ES2015 (6) - 프로미스 [1/5]
당연한 이야기이지만, Javascript와 Node에서는 비동기를 주로 사용하게 되고, 이벤트 리스너에서 콜백 함수에 대한 정의를 자주 쓰게 됩니다. 그러나, 이 콜백 함수들의 사용은 꽤나 코드를 복잡하
nozeroslope.tistory.com
2. Javascript ES2015 (6) - 프로미스 [2/5]
우리는 앞선 아티클에서, 프로미스를 생성해 then, catch, finally를 출력하는 과정을 살펴보았습니다. 그런데 여기서 드는 한 가지 의문, then이나 catch는 딱 '한 개만' 실행이 가능한 것일까요? 결론만
nozeroslope.tistory.com
2. Javascript ES2015 (6) - 프로미스 [4/5]
앞선 아티클에서 우리는 3개의 뎁스를 가진 콜백 함수 예제를 살펴보았습니다. function findAndSaveUser(Users){ Users.findOne( {}, (err, user) => { // 첫 번째 콜백 if(err){ return console.error(err); } user.name = 'zero'; use
nozeroslope.tistory.com
'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 |