Javascript Node.js中的简单嵌套回调

Javascript Node.js中的简单嵌套回调,javascript,node.js,callback,nested,Javascript,Node.js,Callback,Nested,这是我能想到的最基本的嵌套回调,它给了我一个错误[张贴在下面] 函数a(回调){ console.log('first print a') 回调函数() } 函数b(回调){ console.log('a'后面的b') 回调函数() } 函数c(){ console.log('c在b'之后) } a(b(c))您可以这样使用: 函数a(回调){ console.log('first print a') 返回回调 } 函数b(回调){ console.log('a'后面的b') 返回回调 }

这是我能想到的最基本的嵌套回调,它给了我一个错误[张贴在下面]

函数a(回调){
console.log('first print a')
回调函数()
}
函数b(回调){
console.log('a'后面的b')
回调函数()
}
函数c(){
console.log('c在b'之后)
}
a(b(c))
您可以这样使用:

函数a(回调){
console.log('first print a')
返回回调
}
函数b(回调){
console.log('a'后面的b')
返回回调
}
函数c(){
console.log('c在b'之后)
}

a(b(c())
b
没有返回任何内容,这意味着
a
正在使用
undefined
调用
a(未定义)
->在
a
内部,它试图调用
回调
,但
回调
不是一个函数-它未定义。但是'c'也未定义,为什么b的回调不会返回任何错误,因为您没有调用
c
,您将
c
作为参数传递给
b
,而不首先调用它
a(b(c())
将生成一个错误,因为
c
不返回任何内容,解析为
a(b(未定义))
。哦,我想我现在明白了,因为我正在将b(c)传递给a-它认为它是一个返回某些内容的函数。。。我说的对吗?
a
b
后面都是括号,使得
a(b(c))
的计算结果与
var result=b(c)相同;a(结果)–相关的: