js回调函数例子_c回调函数简单例子

js回调函数例子_c回调函数简单例子回调函数每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数

回调函数

回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码

js中函数=对象,对象可以作为参数传给函数。
函数可以作为参数给一个函数,这个参数就是回调函数

使用

例子1

回调函数是异步操作最基本的方法。

下面是两个函数f1和f2,编程的意图是f2必须等到f1执行完成,才能执行。如果f1是异步操作,f2会立即执行,不会等到f1结束再执行。

function f1() { 
   
}

function f2() { 
   
}
f1();
f2();

改写回调

function f1(callback) { 
   
  callback();
}

function f2() { 
   
}

f1(f2);

例子2

function add(num1, num2, callback){ 
   
	var sum = num1 + num2;
	callback(sum);
}

function print(num){ 
   
	console.log(num);
}

add(1, 2, print);		//=>3

例子3

匿名回调函数

function add(num1, num2, callback){ 
   
	var sum = num1 + num2;
	callback(sum);
}

add(1, 2, function(sum){ 
   
	console.log(sum);		//=>3
});

回调函数优缺点

  • 优点是简单、容易理解和实现
  • 缺点是不利于代码的阅读和维护,各个部分之间高度耦合(coupling),使得程序结构混乱、流程难以追踪(尤其是多个回调函数嵌套的情况),而且每个任务只能指定一个回调函数。

使用场景

  • 异步编程
  • 事件监听、处理
  • setTimeout、setInterval方法

参考链接

https://javascript.ruanyifeng.com/advanced/single-thread.html#toc2
https://www.w3cplus.com/javascript/Sexy-Javascript-understand-the-callback-function-with-the-use-of-Javascript-in.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230917.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Pycharm入门使用教程(for python)「建议收藏」

    Pycharm入门使用教程(for python)「建议收藏」1.新建项目打开2.选择解释器选择了合适自己python代码的解释器,编译才不会出错settings-project-Interpreter-选择合适自己的python3.x或者python2.x3.安装模块settings-project-Interpreter-右边‘+’-选择自己想要安装的模块4.设置字体settings-Appearance&Behaviorsettings-Editor-colorscheme-scheme-选择自己想要的工作区域风格5.设置编码可解

    2022年8月28日
  • 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第三章 2020-12-25

    小白能读懂的 《手把手教你学DSP(TMS320X281X)》第三章 2020-12-251最小系统1.1任何保证正常工作一定要检查电源和地是否短接。电源芯片一定要产生稳定电压,3.3V和1.8V。板子要断电插拔,不要热插拔JTAG。1.2最小系统1.2.1电源电路电源芯片常用TPS767D301,产生稳定的3.3V与1.8V。电源和地之间要通过电容连接,电容值查询数据手册,有推荐使用的电路。数字电源和模拟电源通过电感或磁珠连接,数字地和模拟地也通过这些隔断。1.2.2芯片引脚主要是各部分的引脚,内核数字地和模拟地,内核电压和模拟电压。

    2022年5月4日
  • 配置元素customErrors[通俗易懂]

    配置元素customErrors[通俗易懂] Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了。可惜之前一直未曾了解到MSDN的强大。  先贴个地址:http://msdn.microsoft.com/zh-cn/library/dayb112d(v=vs.80).aspx,然后逐个分析。我希望自己能够从头到尾认真学完这系列东西。为了不至于让自己太早放弃,我决定从自己用过的配置文件学起,然后逐渐接触那些比较生疏,和少…

    2022年7月16日
  • java 直播技术_视频直播的技术原理和实现思路方案整理

    java 直播技术_视频直播的技术原理和实现思路方案整理直播模型及其实现一个通用的直播模型一般包括三个模块:主播方、服务器端和播放端。首先是主播方,它是产生视频流的源头,由一系列流程组成:第一,通过一定的设备来采集数据;第二,将采集的这些视频进行一系列的处理,比如水印、美颜和特效滤镜等处理;第三,将处理后的结果视频编码压缩成可观看可传输的视频流;第四,分发推流,即将压缩后的视频流通过网络通道传输出去。其次是播放端,播放端功能有两个层面,第一个层面是关键…

    2022年7月24日
  • PHP中用下划线开头的变量含义

    PHP中用下划线开头的变量含义

    2021年10月21日
  • Activiti最全入门教程「建议收藏」

    Activiti最全入门教程「建议收藏」1:工作流的概念 说明:1)假设:这两张图就是华谊兄弟的请假流程图 2)图的组成部分: A.人物:范冰冰冯小刚王中军 B.事件(动作):请假、批准、不批准  工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从

    2022年7月21日

发表回复

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

关注全栈程序员社区公众号