Javascript回调函数的用法
Usage of Javascript callback function
我认为这是非常基本的,所以人们可能会在这个文档上减去投票,但即使如此,这也让我对JavaScript中的回调函数感到困惑。
function doSomething(callback){
setTimeout(hello,5000);
callback();
}
function hi(){
console.log("hi");
}
function hello(){
console.log("hello");
}
doSomething(hi);
/* result */
// hi
// (after 5 seconds) hello
我想使用回调函数作为句柄函数的执行顺序,所以我决定使用回调模式。在上面的代码中,我认为5秒钟后,回调函数应该被执行,但为什么回调函数会在函数之前忽略并首先运行呢?你能告诉我一些提示吗。
谢谢。
在代码中,callback()
是在执行行setTimeout()
之后执行的,但setTimeout
的回调将在5000ms
之后触发,这是预期的行为。因此,如果你想让callback()
在hello()
之后执行:
function doSomething(callback){
setTimeout(function(){
hello();
callback();
},5000);
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- Javascript函数的多种用法
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 如何通过函数调用查找 JavaScript 变量的传递用法
- 了解 JavaScript 函数的用法
- 在调用函数时不熟悉方括号的用法
- Node js调用socket.io函数的用法
- Javascript回调函数的用法
- javascript匿名函数评估习惯用法
- javascript闭包函数的用法
- Jquery插件函数参数用法
- Javascript函数名vs函数字面量用法
- 自定义RequireJS require()函数的用法
- 有人能解释一下howtonode的函数包装习惯用法吗?
- jQuery绑定函数和(this)用法