summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_dir.ts
diff options
context:
space:
mode:
authorLiam Murphy <43807659+Liamolucko@users.noreply.github.com>2021-01-26 23:34:40 +1100
committerGitHub <noreply@github.com>2021-01-26 13:34:40 +0100
commit06bd692e5c4a8f66960d3919e7087530b60c20dd (patch)
tree54da22655c71341c0e1e750d5197623e4fa0e286 /std/node/_fs/_fs_dir.ts
parentf9949a31707dcaa5a8786bfe4f84ed202be91607 (diff)
fix(std/node): Stop callbacks being called twice when callback throws error (#8867)
Diffstat (limited to 'std/node/_fs/_fs_dir.ts')
-rw-r--r--std/node/_fs/_fs_dir.ts20
1 files changed, 6 insertions, 14 deletions
diff --git a/std/node/_fs/_fs_dir.ts b/std/node/_fs/_fs_dir.ts
index b2353146b..4f7beec31 100644
--- a/std/node/_fs/_fs_dir.ts
+++ b/std/node/_fs/_fs_dir.ts
@@ -32,10 +32,9 @@ export default class Dir {
if (callback) {
callback(null, value ? value : null);
}
- })
- .catch((err) => {
+ }, (err) => {
if (callback) {
- callback(err, null);
+ callback(err);
}
reject(err);
});
@@ -59,18 +58,11 @@ export default class Dir {
*/
// deno-lint-ignore no-explicit-any
close(callback?: (...args: any[]) => void): Promise<void> {
- return new Promise((resolve, reject) => {
- try {
- if (callback) {
- callback(null);
- }
- resolve();
- } catch (err) {
- if (callback) {
- callback(err);
- }
- reject(err);
+ return new Promise((resolve) => {
+ if (callback) {
+ callback(null);
}
+ resolve();
});
}