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(结果)代码>–相关的: