对回调函数的理解

来源:CSDN 浏览量:85 发布时间:2018-12-27 20:30:59

      在做项目中,我们会写很多独立的函数,尤其是在javascript中,会有很多的function,但是这些都是独立的个体,只能执行对应的片段功能,但是在实际情况下,很多东西都不是各自独立为营的。


       在javascript中,回调是以callback的形式展示的。


       1、回调是什么?


       拿舞蹈为例,如果你想看舞蹈,你看到的肯定是很多动作,但你不会刻意的只看一个动作,舞蹈是由多个分解的动作组合在一起的,你希望看到的肯定是一个已经编排好了的动作。那么回到正题,回调是什么?回调就是你完成一个动作后不停下来,继续执行下一个动过,而这些动作全部完成后,你才能算完成。


     放到函数上讲:就是一个函数的内容执行了一部分或者全部执行完成后,又自动的跳到另外一个函数中,不需要用户去在前端页面控制就能完成的一系列动作。


     2、回调有什么用?


     既然是回调,当然是有助于完成一整套动作,不会再中途添加不必要的麻烦,人为的去触发它。


    3、回调的使用场景举例


     拿登录网页为例,你可以单独的写几个函数,一个用于进行数据请求的get,一个用于获取表单数据的getFrom,一个用于改变登录成功后页面的函数,你只需要在执行登录按钮这个功能的函数中按照获取表单数据、进行数据请求、改变登录成功后页面这样的顺序,将函数依次插入到各自函数执行完成的前一句上即可。


    4、回调使用的注意事项


     回调不能嵌套的太多,不然会耗费很多资源,出现一些问题。之前我就是在制作拦截器的时候,写了一个回调函数,由于没有限定好回调使用的条件,导致一个bug出现,程序不停的回调,打印了一堆数据,最后导致我的ide给了我说堆栈溢出,让我头疼了半天,后来查控制台的时候,才发现是我的回调函数的问题。

--------------------- 

作者:ColourfulTiger 

来源:CSDN 

原文:https://blog.csdn.net/ColourfulTiger/article/details/84767968