Menu
CoddyTech

값 기다리기

Coddy Node.js 여정의 Node.js 기초 섹션에 포함된 레슨. 33개 중 22번째.

await 표현식을 사용하면 다음 단계를 then 콜백 안에 넣는 대신, 읽기가 끝난 다음에 작성할 수 있습니다. 이 표현식은 이 프로미스가 완료될 때까지 기다린 후 결과를 제공합니다. 읽기가 진행되는 동안에도 다른 작업을 실행할 수 있습니다.

const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());

await가 없으면 text에는 프로미스가 들어가며, 프로미스에는 문자열 메서드가 없습니다. 이 파일들은 모듈이므로 함수 밖에서도 await를 사용할 수 있습니다. 함수 안에서는 함수에 async를 표시하세요. async 함수도 호출한 쪽에 프로미스를 반환합니다.

challenge icon

챌린지

쉬움

먼저 practice.js를 실행하세요. 오류 메시지는 text.toUpperCase is not a function입니다. text에는 파일 내용이 아니라 프로미스가 들어 있습니다.

프로그램이 사용하기 전에 text에 읽기가 완료된 결과가 들어가도록 하세요. 비동기 파일 함수를 유지하세요. 다시 실행하면 출력은 BUY MILK입니다.

other.txt 인수로 실행하면 제공된 두 번째 파일이 CALL ADA를 출력해야 합니다. 제공된 파일 이름 표현식을 유지하세요.

직접 해보기

import { readFile } from 'node:fs/promises';
const text = readFile(process.argv[2] ?? 'note.txt', 'utf8');
console.log(text.toUpperCase());

Node.js 기초의 모든 레슨

직접 연습해 보세요: Express 플레이그라운드