最近,看表达,看在眼里,并使用
函数作为一个回调函数作为
参数。如果这个概念不能被理解,对Nodejs和表达的代码将是一片混乱。例如:
复制代码代码如下所示:
app.use(
功能(REQ,RES,下){
VaR犯错=新的
错误(
发现);
err.status = 404;
下一步(错误);
});
应用程序是一个对象,使用是一种
方法。该方法的参数是一个带有参数的匿名函数,函数的主体直接在后面给出,您如何理解该代码让我们从回调函数的概念开始。
首先要理解的是,在js中,函数也是一个可以分配给变量的对象,可以放在函数的参数列表中作为参数:
复制代码代码如下所示:
VaR做=功能(A,B)
{
返回A+;
}
这段代码的意思是定义一个匿名函数,除了没有
名字,没有普通函数。然后匿名函数赋给变量做了。接下来我们的电话:
复制代码代码如下所示:
console.log(doSomething(2,3));
这将输出5。
回调函数放在另一个函数(如父函数)的参数列表中,作为参数传递给父级,然后在父函数体的某个
位置执行:
复制代码代码如下所示:
说明回调的概念
VaR做=函数(回调)
{
var a=1,
b=2,
c=3;
var =回调(a,b,c);
返回t + 10;
};
var a(x,y的函数做(,z){
返回(x + y + z);
});
console.log(D);
首先,在做函数的定义,并有一个参数的回调,这个回调是一个回调函数,这个名字可以采取任意。看看函数的函数体,首先定义三个变量A,B,C,然后回调函数被调用。最后一个返回值。
接下来,DOIT函数被调用。需要注意的是,当这样做只是定义重要,回调是没有定义的,所以我就不知道什么是回调做。这其实很好理解,我们通常定义函数时的参数给出了只有一个名字,比如,一个在整个过程中的
作用,也不知道什么是,只有当调用该函数来指定一个特定的值,如2。回了头,在你打电话的时候做,我们需要指定的回调是什么。你可以看到,这个函数完成一笔功能。
上述代码的执行是:
打电话做函数的参数是一个匿名函数。进入到函数体,先定义一个,B,C,然后执行匿名函数的参数是一个现在,B,C,并返回到一个T,最后返回T + 10 D.
回到最初的例子,app.use(…)是一个函数调用,我们可以想象一个使用方法必须被定义之前,但不是在这里。相反,这两个例子可以马上明白了。
当使用NodeJS和表达,为每个方法或函数找到函数定义看这是不可能的。所以才知道参数传递给回调函数,定义。然后,当调用方法或函数,我们定义匿名函数的参数来执行一些功能。
在!