From 06bd692e5c4a8f66960d3919e7087530b60c20dd Mon Sep 17 00:00:00 2001 From: Liam Murphy <43807659+Liamolucko@users.noreply.github.com> Date: Tue, 26 Jan 2021 23:34:40 +1100 Subject: fix(std/node): Stop callbacks being called twice when callback throws error (#8867) --- std/node/_fs/_fs_appendFile.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'std/node/_fs/_fs_appendFile.ts') diff --git a/std/node/_fs/_fs_appendFile.ts b/std/node/_fs/_fs_appendFile.ts index fab72d0f7..ee01b9cc8 100644 --- a/std/node/_fs/_fs_appendFile.ts +++ b/std/node/_fs/_fs_appendFile.ts @@ -35,7 +35,7 @@ export function appendFile( new Promise((resolve, reject) => { if (typeof pathOrRid === "number") { rid = pathOrRid; - Deno.write(rid, buffer).then(resolve).catch(reject); + Deno.write(rid, buffer).then(resolve, reject); } else { const mode: number | undefined = isFileOptions(options) ? options.mode @@ -53,15 +53,13 @@ export function appendFile( rid = openedFileRid; return Deno.write(openedFileRid, buffer); }) - .then(resolve) - .catch(reject); + .then(resolve, reject); } }) .then(() => { closeRidIfNecessary(typeof pathOrRid === "string", rid); - callbackFn(); - }) - .catch((err) => { + callbackFn(null); + }, (err) => { closeRidIfNecessary(typeof pathOrRid === "string", rid); callbackFn(err); }); -- cgit v1.2.3