callback 为什么没有被调用?
- 0次
- 2021-09-01 02:39:15
- idczone
const timeFuncRuntime = funcParameter => {
console.log('parent function called');
}
const callbacks= () => console.log(' callback called');
timeFuncRuntime(callbacks);
我在 chrome 里边测试了,callbacks 函数没有被调用,为什么,应该被调用的啊。
```
const timeFuncRuntime = funcParameter => {
funcParameter()
console.log('parent function called');
}
```
那你再读一读代码看看?
在这种帖子我还可以找找自信
因为你本来就没有调用。。。
callback 不会自动调用. 它作为函数的参数传入函数内部. 需要你像调用其他函数一样, 显式调用它. 如 1 楼那样.
亲,这边建议您再仔细看看代码。
参见这个例子: https://stackoverflow.com/questions/824234/what-is-a-callback-function
这个代码里边也没有显式调用,而且还有很多人都是这么解释的,参见: http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/
https://codeburst.io/javascript-what-the-heck-is-a-callback-aba4da2deced
因为看了上面的这些文档,我以为 callbacks 的执行逻辑就是这样:在 parent 函数执行完成之后,自动执行,不用显式调用?
我知道了,应该是 stackoverflow 这里边的例子不是针对 JS 的。只是一个范例。谢谢大家。所以:无论如何怎样传入,都需要显式调用才行。
JavaScript 需要你显式调用.
你第一个函数里面都没有调用,你传一个函数进去怎么可能调,函数体里面需要调用啊
不懂就问,前面说 JS 需要“显式调用”,难道别的语言有“隐式调用”?
我以为 callbacks 的执行逻辑就是这样:在 parent 函数执行完成之后,自动执行,不用显式调用?
--------------
要是这样,那回调的意义在哪里
parent(callback);为什么不写成 parent();callback();
回调是你不知道什么时候要执行,但是 parent 函数知道,所以你把你要做的事情装在 callback 里面交给 parent,让它来决定什么时候执行
谢谢各路神仙的指点。
尤其感谢 和 @1to3