Help us understand the problem. What is going on with this article?

fs Promises API でプロミスを使ってファイル読み書きする

More than 1 year has passed since last update.

Node.js の基本的な API である、 fsPromise 対応モジュールが追加されました。

fs Promises API

Node.js の API ドキュメント: fs Promises API

The fs.promises API provides an alternative set of asynchronous file system methods that return Promise objects rather than using callbacks. The API is accessible via require('fs').promises.

今まで、

const fs = require('fs')

としていたところを、

const fs = require('fs').promises

とするだけで、 async / await 対応のコードを書くことができるようになります。

ファイルの読み込み

try {
  const content = await fs.readFile('some_file.txt', 'utf-8')
} catch (error) {
  console.error(error)
}

ファイルの書き込み

try {
  const content = 'test'

  await fs.writeFile('some_file.txt', content)
} catch (error) {
  console.error(error)
}

import 文で読み込む場合

--experimental-modules-r esm、または Babel などで ESM に対応させる場合は、 import 文で次のように書けます。

import { promises as fs } from 'fs'

簡単ですね!

皆さんも、コールバック書くのをやめて Promiseasync / await に書き換えましょう!

tabian
画像認識技術を用いて、新しいポスター体験を提供する「ポ写」を開発している全員副業のスタートアップです! エンジニアが自由に、でも真面目に技術に向き合える環境、それは最新技術にとことんこだわれることだと思って日々Qiitaの更新頑張ってます。
https://tabian.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away