【问题标题】:How to console.log without a newline in Deno?如何在 Deno 中不使用换行符来 console.log?
【发布时间】:2021-01-31 12:33:26
【问题描述】:

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

process.stdout.write('hello, deno!')

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

【问题讨论】:

    标签: node.js deno


    【解决方案1】:

    我想通了。 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)
    

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

    【讨论】:

    • Deno.stdout.write(text) 也有效吗?刚看了api docs,第一次听说deno。
    • @Matt 不幸的是,它没有。我也尝试过Deno.write(),但根据文档 ,此函数是最低级别的 API 之一,大多数用户不应直接使用它,而应使用 Deno.writeAll()。不保证会在一次调用中写入完整的缓冲区。 (doc.deno.land/builtin/stable#Deno.write)
    • @Matt 也是,仅供参考,deno 是 Ryan Dahl 在节点之后的下一个项目:youtube.com/watch?v=M3BM9TB-8yA&vl=en
    • Deno.writeAll(...) 在它之前需要await。还有Deno.writeAllSync(...) 供喜欢同步版本的人使用
    猜你喜欢
    • 2020-07-04
    • 2022-08-24
    • 1970-01-01
    • 2023-02-26
    • 2020-09-16
    • 1970-01-01
    • 2022-12-24
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多