如何在 Deno 中不使用换行符进行 console.log?

wca*_*art 11 node.js deno

在 Deno 中如何在没有换行符的情况下将新行打印到终端?在node.js中我曾经这样做:

process.stdout.write('hello, deno!')
Run Code Online (Sandbox Code Playgroud)

这在 Deno 中可能吗?Deno 没有该模块,我在https://doc.deno.land/builtin/stableprocess中找不到等效的选项。

wca*_*art 9

我想到了。Deno 没有 Node.js 的process模块,但它有不同的功能来复制它。我能够打印到终端而无需换行:

const text = new TextEncoder().encode('Hello, deno!')

// asynchronously
await Deno.writeAll(Deno.stdout, text)

// or, sychronously
Deno.writeAllSync(Deno.stdout, text)
Run Code Online (Sandbox Code Playgroud)

文档链接: https: //doc.deno.land/builtin/stable#Deno.writeAll

  • `Deno.writeAll(...)` 之前需要 `await` 。对于喜欢同步版本的人来说,还有 `Deno.writeAllSync(...)` (2认同)

17x*_*nde 6

import { writeAllSync } from "https://deno.land/std/streams/mod.ts";

const text = new TextEncoder().encode('Hello')
writeAllSync(Deno.stdout, text)
Run Code Online (Sandbox Code Playgroud)

Deno.writeAllSyncDeno.writeAll弃用,建议使用上面的包。