You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It works as expected, but in the end when calling dir.close(), it throws (node:3218) UnhandledPromiseRejectionWarning: Error [ERR_DIR_CLOSED]: Directory handle was closed at Dir.close (internal/fs/dir.js:161:13).
After asking on stackoverflow, with the help of others, I found that the async iterator will auto close the dir after iteration is over, so I don't need to (and cannot) clean up with dir.close() myself. This can be seen in the source code here.
This magic is probably good for many developers, but it also throws for those who are careful to code correctly, so I think it should be mentioned in the doc.
I would like to work on this issue and
submit a pull request.
The text was updated successfully, but these errors were encountered:
ZYinMD
changed the title
doc: undocumented magic: async iterator over fs.opendir() will call dir.close() on iteration end
doc: undocumented magic: async iterator over fs.Dir will call dir.close() on iteration end
Sep 11, 2020
jasnell
added a commit
to jasnell/node
that referenced
this issue
Apr 27, 2021
📗 API Reference Docs Problem
fs
Location
Section of the site where the content exists
Affected URL(s):
https://nodejs.org/api/fs.html#fs_class_fs_dir
Description
I'm trying the fs.Dir class which was added since node v12.12:
It works as expected, but in the end when calling
dir.close()
, it throws(node:3218) UnhandledPromiseRejectionWarning: Error [ERR_DIR_CLOSED]: Directory handle was closed at Dir.close (internal/fs/dir.js:161:13)
.After asking on stackoverflow, with the help of others, I found that the async iterator will auto close the dir after iteration is over, so I don't need to (and cannot) clean up with
dir.close()
myself. This can be seen in the source code here.This magic is probably good for many developers, but it also throws for those who are careful to code correctly, so I think it should be mentioned in the doc.
submit a pull request.
The text was updated successfully, but these errors were encountered: