JS 回调函数的使用

JS 回调函数的使用回调函数使用用途获取异步操作的结果相关的具体使用如下所示:functionfn(){ vardata=’hi’; setTimeout(function(){ data=’hello’; },500) returndata;}console.log(fn()); 相关的输出结果为:hi那么我们应该如何获取到相关setTimeout()函数中所修改的data值呢?因为setTimeout()是异步的,其会在相关fn()函数执行完毕后才进行执行,此时所得到

回调函数使用用途

  • 获取异步操作的结果

相关的具体使用如下所示:

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注