目前正在学习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(不是这两个变量名,而是他们指向的对象所包含的操作和信息)两个参数。这些回调函数都该怎么理解呢?