본문 바로가기

Javascript/Node

[Node] File System 읽기와 쓰기(callback 방식과 async await 방식)

728x90
반응형

 

 

callback 방식

'use strict'

const fs = require('fs');

fs.readFile('test.txt', 'utf-8', (err, data) => {
    // 오류를 항상 먼저 핸들링
    if(err) {
        console.log(err);
        return;
    }
    console.log(data);
});

const content = 'something to write';

fs.writeFile('test.txt', content, err => {
    if(err) {
        console.log(err);
        return;
    }
    console.log('success');
});

callback 함수를 promise 변경하여 파일을 읽고 쓰는 함수를 하나로 만듦

'use strict'

const fs = require('fs');
const { promisify } = require('util');

const read = promisify(fs.readFile);
const write = promisify(fs.writeFile);

const writeAndRead = async (data = '') => {
    try {
        await write('test.txt', data);
        console.log(data);
        return (await read('test.txt'));
    } catch (e) {
        console.error(e);
    }
}
writeAndRead('promise를 활용하여 파일 읽고 쓰기');

728x90
반응형

'Javascript > Node' 카테고리의 다른 글

[Node] Promise.race 사용해보기  (0) 2020.09.29
[Node] promise.all 사용해보기  (0) 2020.09.28
[Node] node.js에서 DNS 주소 확인하기  (0) 2020.09.28
[Node] EventEmitter  (0) 2020.09.28
[Node] Promist Chainging, Promist.all  (0) 2020.09.28