【发布时间】:2021-01-31 12:33:26
【问题描述】:
如何在 Deno 中在没有换行符的情况下向终端打印新行?在 node.js 中我曾经这样做:
process.stdout.write('hello, deno!')
这在 Deno 中可行吗? Deno 没有 process 模块,我在 https://doc.deno.land/builtin/stable 中找不到等效选项。
【问题讨论】:
如何在 Deno 中在没有换行符的情况下向终端打印新行?在 node.js 中我曾经这样做:
process.stdout.write('hello, deno!')
这在 Deno 中可行吗? Deno 没有 process 模块,我在 https://doc.deno.land/builtin/stable 中找不到等效选项。
【问题讨论】:
我想通了。 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)
【讨论】:
Deno.stdout.write(text) 也有效吗?刚看了api docs,第一次听说deno。
Deno.write(),但根据文档 ,此函数是最低级别的 API 之一,大多数用户不应直接使用它,而应使用 Deno.writeAll()。不保证会在一次调用中写入完整的缓冲区。 (doc.deno.land/builtin/stable#Deno.write)
Deno.writeAll(...) 在它之前需要await。还有Deno.writeAllSync(...) 供喜欢同步版本的人使用