【发布时间】:2014-12-09 19:09:17
【问题描述】:
我正在阅读各种有关带有回调的 javascript 教程,但它们并没有阐明基本原理。我的理解是,当使用回调调用函数时,可以等待某些代码的执行,然后执行回调函数。所以
// function definition
do_func(int num, callback)
{
Console.log(num);
..
..
callback();
}
//call the function
do_func(123, function(){
Console.log("Running callback");
});
所以在do_func的执行过程中,所有的代码行都被执行了,然后callback()被执行了。但是,如果我们的函数更改为
// function definition
do_func(int num, callback)
{
read file...
..
..
callback();
}
然后在读取文件时调用回调。所以我们的目的落空了。这里发生了什么?
非常感谢!
【问题讨论】:
-
阅读一些关于
synchronous Vs Asynchronous的内容 -
什么是
read file?你读得怎么样?如果它是异步的并且需要回调,则必须将回调传递给它(可能包装在匿名函数中)。 -
什么 javascript 教程建议你声明 int 类型?
-
对于'int'类型,我只是在编写示例代码(我来自Java背景)。读取文件只是伪代码。我一直在尝试阅读很多内容,但对于新手来说可能会感到困惑。在我花了几天时间试图弄清楚之后,下面的答案对我有所帮助。
标签: javascript asynchronous callback