本文实例讲述了nodejs异步编程基础之回调函数用法。分享给大家供大家参考,具体如下:
Node.js 异步编程的直接体现就是回调。
异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。
回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。
例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。
阻塞代码实例
1、创建一个文件 input.txt ,内容如下:
i have a dream
2、创建 main.js 文件, 代码如下:
var fs = require("fs"); var data = fs.readFileSync('input.txt'); //注:同步版的 fs.readFile() console.log(data.toString()); console.log("程序执行结束!");
以上代码执行结果如下:
非阻塞代码实例
1、创建一个文件 input.txt ,内容如下:
i have a dream
2、创建 main.js 文件, 代码如下:
var fs = require("fs"); fs.readFile('input.txt', function (err, data) { //注:异步版的 fs.readFile() if (err) return console.error(err); console.log(data.toString()); }); console.log("程序执行结束!");
以上代码执行结果如下:
总结:
以上两个实例我们了解了阻塞与非阻塞调用的不同。
第一个实例在文件读取完后才执行完程序。
第二个实例我们呢不需要等待文件读取完,这样就可以在读取文件时同时执行接下来的代码,大大提高了程序的性能。
因此,阻塞按是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。
希望本文所述对大家nodejs程序设计有所帮助。
本文向大家介绍C#基础之异步调用实例教程,包括了C#基础之异步调用实例教程的使用技巧和注意事项,需要的朋友参考一下 本文实例形式展示了C#中异步调用的实现方法,并对其原理进行了较为深入的分析,现以教程的方式分享给大家供大家参考之用。具体如下: 首先我们来看一个简单的例子: 小明在烧水,等水烧开以后,将开水灌入热水瓶,然后开始整理家务 小文在烧水,在烧水的过程中整理家务,等水烧开以后,放下手中的家务
本文向大家介绍C++基础入门教程(九):函数指针之回调,包括了C++基础入门教程(九):函数指针之回调的使用技巧和注意事项,需要的朋友参考一下 在Java,要实现某个时间调用某段代码,是很简单的事情,那就是使用接口。 而在C++里,有一个比较高深的方式,那就是使用函数指针。 比如Cocos2d-x的定时器(schedule)、消息订阅(NotificationCenter)都使用了函数指针来完成回
函数 函数的定义 函数是指由 事件驱动 或 当它被调用时 执行的可重复使用 的代码块。 函数定义的方式有两种: 函数由关键字function定义,第一种定义方式:函数声明形式 function abs (x) { if (x > 0) { return x; } else { return; } } 其中,abs为函数名,x为参数,多个参数用逗号","隔开, 花括号里的
本文向大家介绍Python基础教程之内置函数locals()和globals()用法分析,包括了Python基础教程之内置函数locals()和globals()用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python基础教程之内置函数locals()和globals()用法。分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式。
问题内容: 我在互联网上读过有关回调的信息,但就我而言我还是听不懂。 我具有此功能,并且在运行时会记录到控制台。但是,现在我需要在另一个功能中使用此响应,而我正在努力做到这一点。 这是我应该得到的地方:(这显然不起作用,因为它不等待响应。) 我真的很难把头放在回调上,我在这里盯着自己瞎了。 问题答案: 回调无法返回值,因为它们将要返回的代码已经执行。 因此,您可以做几件事。一个传递回调函数,异步函
本文向大家介绍jQuery 回调函数(callback)的使用和基础,包括了jQuery 回调函数(callback)的使用和基础的使用技巧和注意事项,需要的朋友参考一下 还是先贴代码吧 所谓的回调函数,其实就是在 speed 或 duration 参数可以设置许多不同的值,比如 "slow", "fast", "normal" 或毫秒 后面再添加函数,显示相对应的内容,以提示网民 小伙伴们对j