doc: update description of fs.exists in fs.markdown

per: https://github.com/joyent/node/pull/7944

originally submitted by @oconnore

Minor update to the description in `fs.exists()`

Reviewed By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2378
This commit is contained in:
James M Snell 2015-08-14 10:59:07 -07:00
parent db4cb338be
commit 7860977524

View File

@ -680,15 +680,11 @@ Then call the `callback` argument with either true or false. Example:
console.log(exists ? "it's there" : 'no passwd!');
});
`fs.exists()` is an anachronism and exists only for historical reasons.
There should almost never be a reason to use it in your own code.
In particular, checking if a file exists before opening it is an anti-pattern
that leaves you vulnerable to race conditions: another process may remove the
file between the calls to `fs.exists()` and `fs.open()`. Just open the file
and handle the error when it's not there.
`fs.exists()` should not be used to check if a file exists before calling
`fs.open()`. Doing so introduces a race condition since other processes may
change the file's state between the two calls. Instead, user code should
call `fs.open()` directly and handle the error raised if the file is
non-existent.
## fs.existsSync(path)