韩唐伯石 2022-07-30 18:58 采纳率: 57.1%
浏览 44
已结题

对于express和nodejs里回调函数的一些疑惑

目前正在学习nodejs和express,但是对回调函数有些疑惑。
举个例子:

app.get("/login", function(req, res){})

这个函数的作用我知道,但为什么那个回调函数的两个参数req res包含着客户端、服务器相关信息?
我的意思是这是固定用法吗?get方法的回调函数里一定包含req res对象吗?这两个对象是从哪里传递过来的?

还有这个:

app.get("/login", function(req, res){
    req.on("data", function(chunk){
    })
})

req的on方法第一个参数一定对应一个固定的回调函数吗?比如,data就对应function(chunk)函数,而end则对应function()函数,里面的参数是不同的。这些也是固定用法吗?我的意思是data或者其他什么参数对应的回调函数function的参数是不一样的吗?他们的回调函数的参数包含的信息是不一样的吗?

处理这两个例子,这里还有很多比如:

Promise(function(resolve, reject){})//promise对象构造函数里的回调函数

const pool = mysql.createPool(config);
pool.getConnection(function(err, con){})
//等等

这些回调函数都是统一固定的用法吗?比如promise对象里的回调函数一定包含resolve, reject(不是这两个变量名,而是他们指向的对象所包含的操作和信息)两个参数。这些回调函数都该怎么理解呢?

  • 写回答

4条回答 默认 最新

  • Heerey525 前端领域新星创作者 2022-07-31 00:16
    关注

    可以肯定的回答是固定用法,express中get方法第二个参数是回调函数,而回调函数包含req和res两个参数也是定义好的
    promise需要两个参数,通过resolve进入.then,通过reject进入.catch

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵