回调函数使用用途
- 获取异步操作的结果
相关的具体使用如下所示:
function fn() {
var data = 'hi';
setTimeout(function() {
data = 'hello';
}, 500)
return data;
}
console.log(fn());
相关的输出结果为: hi
那么我们应该如何获取到相关setTimeout()函数中所修改的data值呢?
因为setTimeout()是异步的,其会在相关fn()函数执行完毕后才进行执行,此时所得到的data仍然为hi,data的值还未进行改变。
如果我们需要获取到setTimeout()中所进行改变了的data数据,则可以使用回调函数来获取到异步操作的结果,具体使用方式如下所示:
function fn(callback) {
var data = 'hi';
setTimeout(function() {
data = 'hello';
callback(data);
}, 500)
}
fn(function(data) {
console.log(data);
})
最终结果输出为:hello
故通过相关的回调函数获取到了异步操作的结果。
以上回调函数代码解释如下:
- 调用fn函数,同时像fn函数中传递函数参数
- 执行fn函数中的同步代码
- 同步代码执行完成后,执行相关的异步代码,即setTimeout()
- 在执行setTimeout()函数的过程中调用所传递的函数
- 执行所传递的函数,即输出data的值,而此时data的值为
hello
今天的文章JS 回调函数的使用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7467.html