关于回调函数机制通俗易懂的生活中的例子
求一个关于回调函数机制通俗易懂的生活中的例子
回调函数以及整个原理我自己很清楚,现在需要给一个完全不懂的人解释。
所以我想找个生活中跟回调函数机制相似的简单的例子,先让他明白这个原理大概是怎样子。
然后再给他讲具体代码实现这样效果会比较好,我也比较省力。
一直没想到这样一个例子~~
麻烦各位给指点一个啦~~
------解决方案--------------------
例如:你想寄包裹,肯定要留下自己的联系方式和地址吧(相当于回调函数的地址)。然后开始打电话给快递,但快递不会马上来取件,而是通过你留下的联系方式和地址,在他有空或顺路的时候来联系你取件。在送包裹的过程中,服务好的话快递会在你包裹快递状态变化的各个环节通知你(比如已经送到分拣中心,由中心分发开始投递,到达对方所在城市,对方已经签收)。
大概就这样吧...
------解决方案--------------------
把电话号码留下 我Call(回调)你
------解决方案--------------------
一开始是不好理解,用下面这个例子可能会有帮助:
诸葛亮给赵子龙一个锦囊,吩咐他危急时打开按锦囊指示办, 锦囊里的命令就是回调函数,危急时刻就是回调的时机。
不同的锦囊里可以有不同的命令。
------解决方案--------------------
出租车公司派发给某出租车GPS定位装置&发射器,信息处理中心的人可以按需求得到其位置信息并通过电台通知,
...唉算了不会编下去了。
------解决方案--------------------
告诉我一些关于你的事情,在需要的时候我能够找到你
------解决方案--------------------
------解决方案--------------------
回调函数最常见的是鼠标键盘钩子的回调。看了这个就很明白了。
第一人要第二人等待某件事A(挂钩,主调函数),在某个时刻T发生事件A(有消息发生),第二人要告诉第一人要相应的完成事件B(回调处理函数)。
可见主调函数和回调函数都是第一个人干的。
生活中这样的例子就是:
1、孩子告诉妈妈:明天我早起床,早点叫我。这是主调函数A。
2、妈妈第二天,早了半个小时叫孩子。这是消息响应T。
3、孩子起床。这是回调函数B。
再举一例
1、我告诉你,“当我的答案对你有帮助时,记得给我分数”。这是主调函数A。
2、你觉得我的答案好,给了分数。这是消息响应T。
3、我看到分数,很高兴。这是回调函数B。
------解决方案--------------------
可以使用回调函数的一个例子:
A要完成1件事,但对这件事的某个环节不清楚,必须通过B来完成这个环节;
问题是B完成这个环节的时间是不确定的,A如果一直问B,效率会很差;
但B是能够准确知道完成时间的,完成的时候B会给A一个通知,告诉A,你可以行动了,并把完成的结果(参数)告诉A
这样双方都不累;
实际操作的时候,A只要把某个函数fun写上自己的实现即可,但这个函数是B声明的,并且B在适当的时候调用这个函数,这个函数就是回调函数
------解决方案--------------------
我也来凑热闹
比如你显示器不亮了,你不知道怎么弄,那你就问在外地干IT的大表哥,你大表哥告诉你该怎么弄,然后需要你自己来操作。
你大表哥知道怎么弄,但是不会自己去弄,而是由你去弄。
换句话说,你大表哥实现了修理你显示器的方法,但他不会自己去调用,而是由你去调用。
那么你大表哥告诉你的修机器的方法就是回调函数。
回调函数以及整个原理我自己很清楚,现在需要给一个完全不懂的人解释。
所以我想找个生活中跟回调函数机制相似的简单的例子,先让他明白这个原理大概是怎样子。
然后再给他讲具体代码实现这样效果会比较好,我也比较省力。
一直没想到这样一个例子~~
麻烦各位给指点一个啦~~
------解决方案--------------------
例如:你想寄包裹,肯定要留下自己的联系方式和地址吧(相当于回调函数的地址)。然后开始打电话给快递,但快递不会马上来取件,而是通过你留下的联系方式和地址,在他有空或顺路的时候来联系你取件。在送包裹的过程中,服务好的话快递会在你包裹快递状态变化的各个环节通知你(比如已经送到分拣中心,由中心分发开始投递,到达对方所在城市,对方已经签收)。
大概就这样吧...
------解决方案--------------------
把电话号码留下 我Call(回调)你
------解决方案--------------------
一开始是不好理解,用下面这个例子可能会有帮助:
诸葛亮给赵子龙一个锦囊,吩咐他危急时打开按锦囊指示办, 锦囊里的命令就是回调函数,危急时刻就是回调的时机。
不同的锦囊里可以有不同的命令。
------解决方案--------------------
出租车公司派发给某出租车GPS定位装置&发射器,信息处理中心的人可以按需求得到其位置信息并通过电台通知,
...唉算了不会编下去了。
------解决方案--------------------
告诉我一些关于你的事情,在需要的时候我能够找到你
------解决方案--------------------
------解决方案--------------------
回调函数最常见的是鼠标键盘钩子的回调。看了这个就很明白了。
第一人要第二人等待某件事A(挂钩,主调函数),在某个时刻T发生事件A(有消息发生),第二人要告诉第一人要相应的完成事件B(回调处理函数)。
可见主调函数和回调函数都是第一个人干的。
生活中这样的例子就是:
1、孩子告诉妈妈:明天我早起床,早点叫我。这是主调函数A。
2、妈妈第二天,早了半个小时叫孩子。这是消息响应T。
3、孩子起床。这是回调函数B。
再举一例
1、我告诉你,“当我的答案对你有帮助时,记得给我分数”。这是主调函数A。
2、你觉得我的答案好,给了分数。这是消息响应T。
3、我看到分数,很高兴。这是回调函数B。
------解决方案--------------------
可以使用回调函数的一个例子:
A要完成1件事,但对这件事的某个环节不清楚,必须通过B来完成这个环节;
问题是B完成这个环节的时间是不确定的,A如果一直问B,效率会很差;
但B是能够准确知道完成时间的,完成的时候B会给A一个通知,告诉A,你可以行动了,并把完成的结果(参数)告诉A
这样双方都不累;
实际操作的时候,A只要把某个函数fun写上自己的实现即可,但这个函数是B声明的,并且B在适当的时候调用这个函数,这个函数就是回调函数
------解决方案--------------------
我也来凑热闹
比如你显示器不亮了,你不知道怎么弄,那你就问在外地干IT的大表哥,你大表哥告诉你该怎么弄,然后需要你自己来操作。
你大表哥知道怎么弄,但是不会自己去弄,而是由你去弄。
换句话说,你大表哥实现了修理你显示器的方法,但他不会自己去调用,而是由你去调用。
那么你大表哥告诉你的修机器的方法就是回调函数。