diff options
author | Ali Hasani <a.hassssani@gmail.com> | 2020-04-20 13:59:37 +0430 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-20 11:29:37 +0200 |
commit | 437e35ca52227337588148a6896040d3fc3f2d54 (patch) | |
tree | c1be28b0ceae5fd4276be087afc686b78eab5629 /std/node/_fs/_fs_appendFile.ts | |
parent | c1ec042a0011eeba2480b892a335ca7804c59180 (diff) |
Add no-async-promise-executor lint rule (#4809)
Diffstat (limited to 'std/node/_fs/_fs_appendFile.ts')
-rw-r--r-- | std/node/_fs/_fs_appendFile.ts | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/std/node/_fs/_fs_appendFile.ts b/std/node/_fs/_fs_appendFile.ts index f3b44dd7b..48b05ff80 100644 --- a/std/node/_fs/_fs_appendFile.ts +++ b/std/node/_fs/_fs_appendFile.ts @@ -21,34 +21,31 @@ export function appendFile( } validateEncoding(options); - let rid = -1; - new Promise(async (resolve, reject) => { - try { - if (typeof pathOrRid === "number") { - rid = pathOrRid; - } else { - const mode: number | undefined = isFileOptions(options) - ? options.mode - : undefined; - const flag: string | undefined = isFileOptions(options) - ? options.flag - : undefined; - - if (mode) { - //TODO rework once https://github.com/denoland/deno/issues/4017 completes - notImplemented("Deno does not yet support setting mode on create"); - } - const file = await Deno.open(pathOrRid, getOpenOptions(flag)); - rid = file.rid; - } - - const buffer: Uint8Array = new TextEncoder().encode(data); + const buffer: Uint8Array = new TextEncoder().encode(data); + new Promise((resolve, reject) => { + if (typeof pathOrRid === "number") { + rid = pathOrRid; + Deno.write(rid, buffer).then(resolve).catch(reject); + } else { + const mode: number | undefined = isFileOptions(options) + ? options.mode + : undefined; + const flag: string | undefined = isFileOptions(options) + ? options.flag + : undefined; - await Deno.write(rid, buffer); - resolve(); - } catch (err) { - reject(err); + if (mode) { + //TODO rework once https://github.com/denoland/deno/issues/4017 completes + notImplemented("Deno does not yet support setting mode on create"); + } + Deno.open(pathOrRid, getOpenOptions(flag)) + .then(({ rid: openedFileRid }) => { + rid = openedFileRid; + return Deno.write(openedFileRid, buffer); + }) + .then(resolve) + .catch(reject); } }) .then(() => { |