当我们调用异步函数时,是否可以传递带有参数的回调函数。我无法理解我需要记住回调函数中参数的顺序。 例如快递
app.get('/',function(req,res))
由于我看了一个教程,所以我知道参数的数量及其包含的内容。
答案 0 :(得分:1)
当我们调用异步函数时,是否可以传递带有参数的回调函数。
取决于功能。现代的倾向于返回Promise而不是接受回调。
我是否需要记住回调函数中参数的顺序。
不,您可以查找它们。
如何知道参数的数量及其包含的内容
通过阅读函数的文档,您会将回调传递给
答案 1 :(得分:0)
app.get或任何应用。[CRUD方法]在同一参数中接受2或3个参数(请求,响应,下一个)订购。 下一个是可选
答案 2 :(得分:0)
尝试运行此代码。在我们进入get方法之前,您可以看到有2个中间件函数(像函数数组一样传递)。 get方法之后的另一个中间件。这将使您对请求的顺序处理方式以及请求的处理方式有基本的了解。
var express = require("express");
var app = express();
var port = 3000;
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
var middleware1 = function(req,res,next){
console.log("Before Get method middleware")
console.log("middleware1");
next();
}
var middleware2 = function(req,res,next){
console.log("middleware2");
next();
}
app.get("/", [middleware1 , middleware2],(req, res, next) => {
console.log("inside Get middleware")
req['newparam'] = "somevalue"; // or somecode modiffication to request object
next(); //calls the next middleware
});
app.use('/',function(req,res){
console.log("After Get method middleware")
console.log(req['newparam']); //the added new param can be seen
res.send("Home page");
})
app.listen(port, () => {
console.log("Server listening on port " + port);
});