Node.js 学习系列(四)—— 回调函数

这篇具有很好参考价值的文章主要介绍了Node.js 学习系列(四)—— 回调函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Node.js 异步编程的直接体现就是回调。

异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

回调函数在任务完成后就会被调用,Node 使用了大量的回调函数,Node 的所有 API 都支持回调函数。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。

回调函数一般作为函数的最后一个参数出现,语法格式如下:

function foo1(name, age, callback) { }
function foo2(value, callback1, callback2) { }

阻塞代码

新建文件 text.txt ,内容如下:

https://www.baidu.com/

新建 main.js 文件,代码如下:

var file = require("fs");

var data = file.readFileSync('text.txt');

console.log(data.toString());
console.log("Program End!")

打开终端,执行代码:

Node.js 学习系列(四)—— 回调函数

非阻塞代码

修改 main.js 文件,改为回调函数形式,如下:

var file = require("fs");

file.readFile('text.txt',(err,data)=>{
	if(err) return console.log('file read err')
	console.log('data:',data.toString())
})

console.log("Program End!")

再次执行文件,执行结果如下:

Node.js 学习系列(四)—— 回调函数

上面两个实例可以看出,阻塞是按顺序执行的,而非阻塞是不需要按顺序的。所以如果需要处理回调函数的参数,就需要写在回调函数内。文章来源地址https://www.toymoban.com/news/detail-448801.html

到了这里,关于Node.js 学习系列(四)—— 回调函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何处理异步编程中的回调地狱问题?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月09日
    浏览(46)
  • kafka入门,生产者异步发送、回调函数,同步发送(四)

    引入依赖 回调函数会在producer收到ack时调用,该方法有两个参数,分别是元数据信息(RecordMetadata)和异常信息(Exception),如果Exception为null,说明信息发送失败 注意:消息发送失败会自动重试,不需要我们在回调函数中手动重试。 只需在异步发送的基础上,再调用一下 get(

    2024年02月11日
    浏览(45)
  • 什么是异步编程?什么是回调地狱(callback hell)以及如何避免它?

    前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一

    2024年02月10日
    浏览(40)
  • 巧用回调函数解决微信小程序与后台数据交互出现的异步问题

            微信小程序端需要发送一个包含文字与图片的表单数据给后端,我一开始的思路是 先 上传图片得到临时的URL, 后 执行POST请求将表单数据发送给后端,但后端只能获取到文字,而图片URL却始终获取不到。         注意看我上面的思路, 一先一后 ,无形中将两

    2024年02月16日
    浏览(42)
  • 一盏茶的功夫帮你彻底搞懂JavaScript异步编程从回调地狱到async/await

     🎬 江城开朗的豌豆 :个人主页  🔥  个人专栏   :《 VUE 》 《 javaScript 》 ⛺️  生活的理想,就是为了理想的生活 ! 目录 📘 1. 引言 📘 2. 使用方法 📘 3. 实现原理 📘 4. 写到最后   在深入讨论 async/await 之前,我们需要了解一下 JavaScript 的单线程和非阻塞的特性。

    2024年02月08日
    浏览(49)
  • JS回调函数(callback)

    在使用Jquery的时候,用到Callback(),回调函数的概念。并且不少。javascript 好比:html 回调函数你们都会用,只是Jquery封装了以后,不能让你们明白回调函数的真正使用。 JS Api 里这样解释:A callback is a function that is passed as an argument to another function and is executed after its parent funct

    2024年02月09日
    浏览(38)
  • 异步编程(JS)

    想要学习 Promise ,我们首先要了解 异步编程 、 回调函数 、 回调地狱 三方面知识: 异步编程技术使你的程序可以在执行一个可能长期运行的任务的 同时继续对其他事件做出反应 而不必等待任务完成。 与此同时,你的程序也将在任务完成后显示结果。 举个栗子: 假设现在

    2024年03月15日
    浏览(35)
  • JS 异步编程方法:6种方案

        javascript语言的执行环境是\\\"单线程\\\"。也就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,在执行后面一个任务     这种模式虽然实现起来比较简单,执行环境相对单纯,但是只要一个任务耗时很长,后面的任务都必须排队等着,会拖延整

    2023年04月08日
    浏览(35)
  • JS中的异步编程与Promise

    在了解JavaScript的异步机制之前,我们首先需要理解JavaScript是一种单线程语言。单线程就意味着所有的任务需要按照顺序一次执行,如果前一个任务没有完成,后一个任务就无法开始。这个特性在执行大量或耗时任务时可能会导致阻塞或者界面卡死,这显然是不可取的。 为了

    2024年02月08日
    浏览(49)
  • C#回调函数学习1

    回调函数(Callback Function)是一种函数指针,它指向的是由用户自己定义的回调函数。我们将这个回调函数的指针作为参数传递给另外一个函数,在这个函数工作完成后,它将通过这个回调函数的指针来回调通知调用者处理结果。     此定义来自网上; 看一个例子;这是用委

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包