Promise 결과
Coddy Node.js 여정의 Node.js 기초 섹션에 포함된 레슨. 33개 중 19번째.
프라미스는 나중에 도착할 결과를 나타냅니다. node:fs의 콜백 버전과 달리, node:fs/promises의 readFile은 콜백을 받지 않고 프라미스를 반환합니다. 이 프라미스의 .then 메서드는 읽기에 성공했을 때 결과와 함께 호출할 함수를 받습니다.
import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
console.log('Hello, ' + name);
});name 매개변수에는 프라미스가 아니라 파일의 텍스트가 담깁니다. 텍스트에 의존하는 작업은 여기에 작성합니다. 지금은 파일이 제공되어 있고 읽기가 성공합니다. 다음 단계에서는 읽기에 실패하는 경우를 처리합니다.
챌린지
쉬움먼저 practice.js를 실행하세요. 그러면 Note: [object Promise]가 출력됩니다. 프로그램이 텍스트를 나중에 완료될 결과가 아니라 프로미스와 결합하고 있습니다.
.then 콜백을 사용해 읽기가 완료되면 파일 내용을 뒤에 붙여 Note: 를 출력하세요. 인수를 지정하지 않으면 note.txt를 읽어 Note: Buy milk가 출력됩니다. other.txt도 시도해 보세요. Note: Call Ada가 출력되어야 합니다.
직접 해보기
import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));
Node.js 기초의 모든 레슨
직접 연습해 보세요: Express 플레이그라운드