上一篇文章黑胖哥讲到node里面的回调,这个是个重点,也是个难点,那么怎么细化的讲解回调思想呢?在node里面这个回调无处不在,那么我今天以我的理解来解释一下回调,希望你能喜欢!
其实啊,回调就是那么回事,好比你的朋友结婚,你呢,送一个大礼给他,但是要求他必须的回点礼,你不回呢,这朋友没法做了,直接崩溃,还是以海贼王项目举例:
![a36dc538bb476f03035a76e97be7ede0.png](https://i-blog.csdnimg.cn/blog_migrate/bdd8bb62e35e1fd23a9e2e2a897ca9a9.jpeg)
正如我箭头所说的,我们最终要获得da这个值,但是这个值呢对于我的数据库操作文件并没有用,那么他应该给业务,这个时候,我就要传值给我的上一级,业务模块,但是怎么传?没有办法啊,于是想到他不是传给了我一个带参数的函数吗?这是一个使者,那么还是让这个使者将值带回去吧,于是这个值通过回调又回到了业务模块。
那么我们现在来看一下业务模块:
![0264f1c0066a96dc8ad9b5f1a8029858.png](https://i-blog.csdnimg.cn/blog_migrate/7f1c0fab09d220ea1abfe072aa4d5e19.jpeg)
其实弄来弄去,我不还是要得到这个值?那么他实际上是一个形参,谁给他赋值呢?那么谁执行我这个作为参数的函数就谁赋值喽,难道还从天上掉下来
![690c42241856573d7ee04618be8c50c3.png](https://i-blog.csdnimg.cn/blog_migrate/92dbc17e23a31503ec46c06b0b5a7361.jpeg)
刚好在调用这个查询方法的时候,将这个函数作为形参带过来了,这么好的事情还不抓紧?所以赶紧将这个callback调用一下,这样在数据库模块中我也拿着这个回调没有用,在业务中刚好需要这个值,两全其美,各取所需,这样,一次完美的调用就完成了!
那么nodejs有框架吗?搞的这么复杂,接下来我给大家介绍promise框架,请持续关注哦!