Promiseの結果
CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 19/33。
promiseは、後で届く結果を表します。node:fsのコールバック版とは異なり、node:fs/promisesのreadFileはコールバックを受け取らず、promiseを返します。その.thenメソッドは、読み込みが成功したときに結果を受け取って呼び出される関数を受け取ります。
import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
console.log('Hello, ' + name);
});nameパラメーターにはpromiseではなく、ファイルのテキストが入ります。テキストに依存する処理はここに記述します。ここでは、ファイルが用意されており、読み込みは成功します。次のステップでは、読み込みに失敗した場合を扱います。
チャレンジ
簡単まずpractice.jsを実行すると、Note: [object Promise]が表示されます。このプログラムは、最終的な結果ではなく、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プレイグラウンド