From 8907732fcfb636b239f0298e2372d0f758a4b1d4 Mon Sep 17 00:00:00 2001 From: jakecastelli <959672929@qq.com> Date: Sat, 4 Mar 2023 22:17:01 +1030 Subject: [PATCH] doc: improve fs code example quality PR-URL: https://github.com/nodejs/node/pull/46948 Reviewed-By: Luigi Pinca Reviewed-By: LiviaMedeiros Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Qingyu Deng --- doc/api/fs.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index 4486e7eb4364ad..8b984e92fc8a56 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -1111,7 +1111,7 @@ try { ```cjs const { mkdir } = require('node:fs/promises'); -const { resolve, join } = require('node:path'); +const { join } = require('node:path'); async function makeDirectory() { const projectFolder = join(__dirname, 'test', 'project'); @@ -1153,9 +1153,11 @@ object with an `encoding` property specifying the character encoding to use. ```mjs import { mkdtemp } from 'node:fs/promises'; +import { join } from 'node:path'; +import { tmpdir } from 'node:os'; try { - await mkdtemp(path.join(os.tmpdir(), 'foo-')); + await mkdtemp(join(tmpdir(), 'foo-')); } catch (err) { console.error(err); } @@ -3220,8 +3222,10 @@ object with an `encoding` property specifying the character encoding to use. ```mjs import { mkdtemp } from 'node:fs'; +import { join } from 'node:path'; +import { tmpdir } from 'node:os'; -mkdtemp(path.join(os.tmpdir(), 'foo-'), (err, directory) => { +mkdtemp(join(tmpdir(), 'foo-'), (err, directory) => { if (err) throw err; console.log(directory); // Prints: /tmp/foo-itXde2 or C:\Users\...\AppData\Local\Temp\foo-itXde2 @@ -7467,6 +7471,8 @@ For example, the following is prone to error because the `fs.stat()` operation might complete before the `fs.rename()` operation: ```js +const fs = require('node:fs'); + fs.rename('/tmp/hello', '/tmp/world', (err) => { if (err) throw err; console.log('renamed complete'); @@ -7483,12 +7489,12 @@ of one before invoking the other: ```mjs import { rename, stat } from 'node:fs/promises'; -const from = '/tmp/hello'; -const to = '/tmp/world'; +const oldPath = '/tmp/hello'; +const newPath = '/tmp/world'; try { - await rename(from, to); - const stats = await stat(to); + await rename(oldPath, newPath); + const stats = await stat(newPath); console.log(`stats: ${JSON.stringify(stats)}`); } catch (error) { console.error('there was an error:', error.message); @@ -7498,10 +7504,10 @@ try { ```cjs const { rename, stat } = require('node:fs/promises'); -(async function(from, to) { +(async function(oldPath, newPath) { try { - await rename(from, to); - const stats = await stat(to); + await rename(oldPath, newPath); + const stats = await stat(newPath); console.log(`stats: ${JSON.stringify(stats)}`); } catch (error) { console.error('there was an error:', error.message); @@ -7557,7 +7563,7 @@ try { fd = await open('/open/some/file.txt', 'r'); // Do something with the file } finally { - await fd.close(); + await fd?.close(); } ``` @@ -7571,7 +7577,7 @@ try { fd = await open('file.txt', 'r'); // Do something with the file } finally { - await fd.close(); + await fd?.close(); } ``` @@ -7686,7 +7692,7 @@ try { fd = await open(Buffer.from('/open/some/file.txt'), 'r'); // Do something with the file } finally { - await fd.close(); + await fd?.close(); } ```