doc: add warning to fs.exists() documentation

Warn against the open-if-exists anti-pattern, it's susceptible to
race conditions.
This commit is contained in:
Ben Noordhuis 2013-10-05 14:45:10 +02:00
parent b7f36e187d
commit d97ea06d88

View File

@ -595,6 +595,13 @@ Then call the `callback` argument with either true or false. Example:
util.debug(exists ? "it's there" : "no passwd!"); util.debug(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.existsSync(path) ## fs.existsSync(path)