首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >fs节点mdoule中stat函数的主体在哪里?

fs节点mdoule中stat函数的主体在哪里?
EN

Stack Overflow用户
提问于 2021-03-30 04:55:39
回答 2查看 106关注 0票数 0

我正在学习nodeJS,遇到了节点模块fs

有一行代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export function stat(
  path: PathLike,
  callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void
): void;

在我使用stat的文件中,有以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fs.stat(filepath, (err, stats) => {
  if (err) {
    res.statusCode = 404
    res.setHeader("Content-Type", "text/html")
    res.end(
      "<html><body><h1>Error 404: " + fileUrl + " not found</h1></body></html>"
    )
    return
  }
})

我提供回调函数,但是我想知道我的函数在哪里接收、err、stats对象。

我假设stat必须有一个函数体,它调用我定义的函数并提供对象。

EN

回答 2

Stack Overflow用户

发布于 2021-03-30 05:11:28

你是对的。fs.stat()的代码在得到需要的结果时会调用回调,这是一个非常常见的nodejs / Javascript模式。

fs中的代码大多是原生操作系统代码,而不是Javascript代码。它是nodejs的内部,它的目的是访问机器的文件系统。因此,使用调试器进行调试可能会让人感到困惑。

关于代码的另一个方面的注释: nodejs / express可以轻松地从express函数中执行404错误。如果使用参数调用next(),请将错误报告给网站访问者或API用户。就像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const createError = require('http-errors')
 ...
       fs.stat(filepath, (err, stats) => {
         if (err) return next(createError(404, fileUrl + ' not found'))
         ...
       })
票数 0
EN

Stack Overflow用户

发布于 2021-03-30 23:16:04

生成错误的唯一ID,在响应中返回它。

记录错误(错误)对象(控制台、记录器等)使用这个生成的ID来跟踪情况。(响应中的错误对象是丑陋的,并且公开了您所称的堆栈或内部。)在error对象中,您将尽可能找到详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66871357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文