我假设 NO 因为它返回一个 void
而不是 Promise<void>
,但是,文档声明了以下句子:
异步读取文件的全部内容。
如果不是异步函数,这个函数如何异步读取文件?
答案 0 :(得分:0)
它是异步的。
它不返回任何东西(更不用说承诺了(并且承诺被解析为无效(无)是毫无意义的)。
它接受一个回调,当结果可用时将调用该回调。
见 the documentation 明确表示:
<块引用>异步读取文件的全部内容。
并有一个如何使用它的例子:
<块引用>import { readFile } from 'fs';
readFile('/etc/passwd', (err, data) => {
if (err) throw err;
console.log(data);
});
答案 1 :(得分:0)
是的,它是一个异步函数,因为它需要一个回调,并在数据准备好时调用回调函数。 这就是为什么它是异步的。
文档中的示例:
readFile('/etc/passwd', (err, data) => {
if (err) throw err;
console.log(data);
});
答案 2 :(得分:0)
fs.readfile
是异步的,稍后可以通过调用您应该为其指定的回调返回结果:
fs.readFile(path[, options], callback)
因此,如果您对在此调用后立即(在下一行)调用 readFile
的结果不感兴趣,您可以使用它。否则使用返回 Promise
readFile
包中的 fs/promises