【问题标题】:Node fs.readFile function节点 fs.readFile 函数
【发布时间】:2019-02-06 21:11:10
【问题描述】:

我是 node 新手,我正在尝试了解 fs.readFile() 函数。文档说它可以接受参数。

fs.readFile(path[, options], callback).

文档提供了这个简单的示例。

fs.readFile('/etc/passwd', (err, data) => {
  if (err) throw err;
  console.log(data);
});

我的问题是,“err”参数是否需要称为“err”,或者可以是任何名称,如“foo”。如果它可以是任何名称,代码如何知道将实际错误传递给此参数?

【问题讨论】:

  • 在 Javascript 中,您可以将参数命名为任何您想要的回调。这些名称供您在回调代码中选择。它们必须正确定位,因为第一个参数将是错误值,第二个参数将是数据值(无论您如何命名它们)。也就是说err 是 Javascript 中用于异步错误指示器的流行约定,如果您将其称为 errerror,您的代码将符合其他代码。

标签: node.js


【解决方案1】:

使用 JavaScript 中的回调模式,第一个参数通常保留用于在执行底层函数期间可能遇到的错误。它可以是您喜欢的任意字符串,但最好使用一些有意义的名称。下面的第二个参数data,如果没有发生错误,则从正在读取的文件中输入。

例如

const fsReadFile = (fileName) => {
    fileName = `${__dirname}/${fileName}`
    return new Promise((resolve, reject) => {
        fs.readFile(fileName, 'utf8', (error, data) => {
            if (!error && data) {
                resolve(data)
            } else {
                reject(error);
            }
        });
    })
}

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 2016-01-25
    • 1970-01-01
    • 2016-09-16
    • 2021-12-30
    • 2019-05-10
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多