如何在 Deno 中优雅地处理输入和输出

阅读时长 5 分钟读完

Deno 是一个安全的 JavaScript 和 TypeScript 运行时环境,它支持异步 I/O 操作、跨平台支持和内置的模块加载器。在 Deno 中处理输入和输出是非常重要的操作,因为它们是与用户的主要交互方式之一。本文将详细介绍如何在 Deno 中优雅地处理输入和输出,帮助读者掌握这个关键技能。

输入和输出的基础知识

在 Deno 中,输入和输出通常是指从命令行读取用户输入(标准输入)或将结果输出到控制台(标准输出)。我们可以使用 Deno.stdinDeno.stdout 来访问它们。Deno.stdin 是一个 Deno.File 对象,可以通过监听其 readable 事件从中读取数据,而 Deno.stdout 是一个插入式的 WriteCloser,可以使用 .write() 方法将数据写入。

那么,如何读取用户在命令行中输入的数据呢?可以使用 Deno.readLine() 方法。这个方法返回一个 Promise,一旦读取到数据,它就会被解析为一个字符串。在写入数据时,我们可以使用 .write() 方法将数据写入到 Deno.stdout 中。

以下是一个简单的示例程序:

这个程序首先使用 Deno.readLine() 方法读取用户的输入,并使用 console.log() 方法将结果输出到控制台。然后,它使用 TextEncoder 将要输出的数据编码,并使用 .write() 方法将数据写入到 Deno.stdout 中。

以交互式方式读取输入

在命令行工具中,交互式读取输入是非常常见的操作。在 Deno 中,我们可以使用 prompt() 方法读取交互式输入。这个方法类似于 readline(),但它不需要参数,并返回读取到的字符串。

以下是一个简单的示例程序:

这个程序首先使用 prompt() 方法读取用户的输入,并将结果输出到控制台。

处理控制台输出

在 Deno 中,我们可以使用 console.log() 方法将信息输出到控制台。此外,我们还可以使用 Deno.writeAllSync() 方法将数据写入到文件或其他数据流中,例如使用 Deno.openSync() 打开一个文件并传递数据。

以下是一个简单的示例程序:

这个程序首先使用 console.log() 方法将消息写入到控制台,然后使用 Deno.openSync() 方法打开一个名为 output.txt 的文件并使用 Deno.writeAllSync() 将消息写入到里面,最后使用 Deno.close() 方法关闭文件句柄。

处理文件输入和输出

在 Deno 中,我们可以使用 Deno.readFile()Deno.writeFile() 方法读取和写入文件。这些方法都是异步的,并且返回 Promise,因此我们需要使用 async/await.then() 方法来处理它们的结果。

以下是一个简单的示例程序:

这个程序首先使用 Deno.readFile() 方法读取 input.txt 文件中的内容,并使用 TextDecoder 解码内容并将其输出到控制台。然后,它使用 Deno.writeFile() 方法将字符串 "Hello World!" 写入到 output.txt 文件中,并使用再次使用 Deno.readFile() 方法读取文件内容,并使用 TextDecoder 解码内容并将其输出到控制台。

总结

在本文中,我们探讨了如何在 Deno 中优雅地处理输入和输出,并详细讲述了如何读取用户输入、以交互式方式读取输入、处理控制台输出以及处理文件输入和输出。我们希望这些技巧对读者学习和掌握 Deno 技术非常有帮助。同时,请注意,本文只是介绍了 Deno 的入门知识,您还可以深入研究文件读写、HTTP 请求等其他方面的内容。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6469a915968c7c53b0983d76

纠错
反馈