Node.js 如何将具有两个回调的函数调用转换为Promise
Promise: Promise用于处理结果,如果获得所需的输出,则执行 then 块的代码,如果出现错误,则执行 catch 块的代码。
Promise的样子大致如下:
回调函数: 回调函数是一个函数的最后一个参数。它将用于执行一些操作,使用从函数中获取的值。带有两个回调函数的函数调用如下所示
这是File System(文件系统)模块的readFile(读文件)函数。它用于读取文件的数据。readFile函数接受两个参数:文件路径、文件编码和回调函数。文件路径是你的文件所在的路径,文件编码是文件的编码,默认是“utf8”。在回调函数中,检查错误,如果有错误则记录错误,如果没有错误则记录结果。
让我们先运行这个函数: 确保你已经创建了一个名为“hello.txt”的文件,并在文件中添加了一些内容,本例中是“Hello World”。
示例:
输出:
让我们将此转换为一个 promise。
机制: 要将该 readFile 函数转换为 promise,我们需要创建一个新函数,我们称之为 readFilePromise ,它有两个参数 fileName 和 encoding 。在这个函数内部,我们返回一个新的 promise,并在这个 promise 中使用 readFile 函数。如果 readFile 函数返回所需的输出,则解析这个 promise,这意味着它以 promise 的形式返回数据,如果函数没有返回所需的输出,则拒绝这个 promise,这意味着它返回错误而不是数据。
完整代码:
运行应用程序的步骤:
打开终端并键入以下命令。
输出: