高软作业3:理解callback函数

陈同学ccp 2023-04-03 15:08:32

回调函数是一个函数,这个函数将会在另一个函数完成执行后立即执行。回调函数是一个作为参数传给另一个函数的函数,这个回调函数会在传给的函数内部执行。这一方法可以使得函数像使用普通参数一样使用其他函数。提高了函数使用的灵活性。

 

function openFile(filePath,callback)
{
    alert('start opening file in'+filePath);
    callback();//when finished,execute callback()
}
 
function writeToFile()
{
    alert('i'm now writing file');
}
openFile('c://test.csv',writeToFile);
 

2. 回调函数的专业理解

在计算机科学中,回调函数是指一段以参数的形式传递给其它代码的可执行代码。回调函数是一种软件设计上的概念,和编程语言没有关系,几乎所有的编程语言都能实现回调函数。回调函数又是异步下不可或缺的一种机制。

回调函数就是写一个函数,让预先写好的系统来调用。你调用系统的函数,是直调。让系统调用你的函数,就是回调。一般写程序是你调用系统的API,如果反过来,由程序员写一个函数,让系统调用程序员写的函数,那就是回调,那个直接被系统调用的函数就是回调函数(间接被调用的不算)。
例如,我们在一个网页有关的函数中调用外部API,我们肯定需要异步执行,然后传入回调函数,如果是同步执行,是阻塞的,我们需要等待调用API结果之后才能执行后面的函数,这样可能会造成界面加载卡顿、延时的情况发生,而使用回调函数异步执行,则不影响我们后面函数的执行,所以是非阻塞的。
 

3. 回调函数和其它函数的区别

       首先,回调函数就是一个函数,形式上和其他函数没有半点区别。只不过这个所谓的回调函数是将要被当做参数传递给另一个函数,并被其调用(区别就在这,一般函数的形参,接收的是一个基本类型的变量,而这个函数,接收的参数居然是一个"函数",这个作为参数的函数,就叫回调函数)。

    一般函数:function a(int a, String b),接收的参数是一般类型。

    特殊函数:function b(function c),接收的参数是一个函数,c这个函数就叫回调函数。

       本质区别就是,一般一个函数调用另一个函数,被调用的函数是出现在方法体当中,而回调函数比较特殊是出现在参数列表当中。也就是说,调用的时候,需要从其他地方拿到这个(回调)函数,以参数的形式把这个回调函数传入。

       一般的函数调用,可以称作是调用。然而另一种,执行时才将某个函数传入后再调用,就叫"回调"。

 

作者:109

...全文
63 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧