• 【第2章 Node.js基础】2.2 Node.js回调函数


    学习目标

    (1)理解Node.js的回调函数;
    (2)掌握回调函数的使用。

    什么是回调函数

    回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在特定的事件或条件发生时被调用。回调函数通常用于异步操作,例如网络请求或文件读取,以确保在操作完成后执行特定的逻辑。

    正常回调

    function main(info, callback){//我是主函数,参数列表中的callback是一个回调函数
        console.log('还在回家的路上');
        console.log('到家了,发条信息吧');
        callback (info);//调用回调函数
    }
    function sendMsg(msg){  //我是回调函数
        console.log(msg);
    }
    main('亲爱的,我到家了!',sendMsg);//执行主函数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在给定的示例中,sendMsg函数被作为回调函数传递给main函数。当main函数执行到callback(info)时,会调用传递进来的回调函数,并将info作为参数传递给它。在这个例子中,main函数在打印一些信息后调用了回调函数sendMsg,并将消息作为参数传递给它。

    异步操作回调

    //
    const fs = require("fs");//引入fs(filesystem)模块
    //异步读取文件内容
    fs.readFile('demo.txt', function (err, data) {
        if (err) return console.error(err); //读取失败则报错
        console.log(data.toString());//读取成功则输出文件内容
    });
    console.log("Node程序已经执行结束!");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    回调函数的作用是在异步操作完成后执行特定的逻辑,以便处理操作的结果或执行进一步的操作。通过将回调函数作为参数传递给其他函数,我们可以实现更灵活和可扩展的代码结构。

    总结回调函数

    回调函数在异步编程中起着重要的作用,它有以下优点和缺点:

    优点:

    1. 异步控制:回调函数允许在异步操作完成后执行特定的逻辑,确保代码按照正确的顺序执行。
    2. 灵活性:通过回调函数,可以将不同的逻辑组合在一起,实现更复杂的异步操作。
    3. 可重用性:回调函数可以被多个函数调用,提高代码的可重用性。

    缺点:

    1. 回调地狱:当多个异步操作嵌套调用时,会导致代码变得复杂和难以维护,形成所谓的“回调地狱”。
    2. 错误处理困难:在回调函数中处理错误可能会变得困难,因为错误可能在多个回调函数之间传递,难以追踪和处理。
    3. 代码可读性差:由于回调函数的嵌套和异步操作的特性,代码的可读性可能会降低,使得代码难以理解和调试。

    为了解决回调函数的缺点,出现了一些替代方案,如Promise、async/await等。这些方案提供了更简洁、可读性更高的代码结构,使异步编程更加容易和可维护。

  • 相关阅读:
    C++11并发编程-线程的启用与销毁
    13.3 正则表达式的应用
    148-153-Hadoop-调优-多目录-黑白名单
    Arch Linux 的安装
    力扣+牛客--刷题记录
    算法复杂度介绍
    Go简单的入门:编译和安装应用
    面试官:如何实现微服务全链路灰度发布?
    2022秋招阿里巴巴最新发布Java岗面试题,扛不住啊
    本地快速部署 TiDB 集群
  • 原文地址:https://blog.csdn.net/No_Name_Cao_Ni_Mei/article/details/134294352