node.js回调函数之阻塞调用与非阻塞调用
首先,node.js作为javascript运行平台,它采用了事件驱动和异步编程的方式,通过事件注册和异步函数,开发人员可以提高资源利用率,服务器的性能也能得到改善。其次,对于前端人来说,node.js作为js的运行平台,我们可以通过编写系统级或者服务器端的javascript代码交给node.js来执行,让我们前端人也能作用于后台,相比之下,浏览器端的javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限,而node.js则是一个全面的后台运行时,为javascript提供了许多其他语言能够实现的许多功能。
下面回归正题,首先给大家介绍阻塞调用,具体内容请往下看。
1.阻塞调用(读取完文件再执行后面的操作)
var fs = require("fs"); var data = fs.readFileSync('/fs.txt'); console.log(data.toString()); console.log("程序执行结束!");
输出结果:
“文件内容”
“程序执行结束!”
2.非阻塞调用(读取文件和其他操作同步执行)
var fs = require("fs"); fs.readFile('/fs.txt',function(err,data){ if(err) return console.error(err); console.log(data.toString()); }); console.log("程序执行结束!");
输出结果:
“程序执行结束!”
“文件内容”
以上内容是小编给大家介绍的node.js回调函数之阻塞调用与非阻塞调用的全部内容,希望大家喜欢。
相关推荐
-
Node.js 回调函数实例详解
Node.js 回调函数 阻塞与非阻塞 node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 阻塞代码实例(同步函数) //阻塞是按顺序执行的 var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()
-
深入理解Node.js 事件循环和回调函数
本文详细的介绍了Node.js 事件循环和Node.js回调函数,废话不多说了,具体看下面把. 一.Node.js 事件循环 Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高.Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发.Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现.Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观
-
node.js回调函数之阻塞调用与非阻塞调用
首先,node.js作为javascript运行平台,它采用了事件驱动和异步编程的方式,通过事件注册和异步函数,开发人员可以提高资源利用率,服务器的性能也能得到改善.其次,对于前端人来说,node.js作为js的运行平台,我们可以通过编写系统级或者服务器端的javascript代码交给node.js来执行,让我们前端人也能作用于后台,相比之下,浏览器端的javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限,而node.js则是一个全面的后台运行时,为javascript提
-
JS回调函数原理与用法详解【附PHP回调函数】
本文实例讲述了JS回调函数原理与用法.分享给大家供大家参考,具体如下: JS回调函数 何为回调函数,官方解释:当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数.但是有些库函数(library function)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务.这个被传入的.后又被调用的函数就称为回调函数(callback function). 通常将一个函数B传入另一个函数A,并且在需要的时候再调用函数A. 说白
-
JS回调函数简单用法示例
本文实例讲述了JS回调函数简单用法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>testCallBack.html</title> </head> <body> <
-
JS回调函数基本定义与用法实例分析
本文实例讲述了JS回调函数基本定义与用法.分享给大家供大家参考,具体如下: 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. 字面上的理解,回调函数就是一个参数,将这个函数作为参数传到
-
JS回调函数 callback的理解与使用案例分析
本文实例讲述了JS回调函数 callback的理解与使用.分享给大家供大家参考,具体如下: 基本理解一个概念 回调函数回头再调用函数,等主干事情干完了,再回头干分支上的事情. 官方定义 A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. 实例1 //定义主函数,回调函数作为参数 func
-
JS回调函数简单易懂的入门实例分析
本文实例讲述了JS回调函数.分享给大家供大家参考,具体如下: 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数.什么是JS?(点击查看) 下面先看看标准的解释: <script language="javascript"> function SortNumber( obj, func ) // 定义通用排序函数 { // 参数验证,如果第一个参数不是数组或第二个参数不是函数则抛出异常 if( !(obj instanceof Array) || !(f
-
JS回调函数深入理解
本文实例讲述了JS回调函数.分享给大家供大家参考,具体如下: 一.前奏 在谈回调函数之前,先看下下面两段代码: 不妨猜测一下代码的结果. function say (value) { alert(value); } alert(say); alert(say('hi js.')); 如果你测试了,就会发现: 只写变量名 say 返回的将会是 say方法本身,以字符串的形式表现出来. 而在变量名后加()如say()返回的就会使say方法调用后的结果,这里是弹出value的值. 二.js中函数
-
js回调函数原理与用法案例分析
本文实例讲述了js回调函数原理与用法.分享给大家供大家参考,具体如下: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应. 函数指针是指向函数的指针变量. 因此"函数指针"本身首先应是指针变量,只不过该指针变量指向函数. 函数指针有两个用途:调用函数和做函数的参数. 作用:
-
js回调函数仿360开机
本文实例为大家分享了js回调函数仿360开机的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> #demo{ width: 322px; /*不设高,因为下面的盒子消失之后,上面的盒子立刻掉下来*/ position: fix
随机推荐
- 详解Ruby on Rails中的Cucumber使用
- JavaScript代码复用模式详解
- Spring集成MyBatis框架
- java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较
- 5种Java经典创建型模式详解
- 原生JS实现美图瀑布流布局赏析
- php常用数学函数汇总
- Python基础入门之seed()方法的使用
- jsp中EL表达式获取数据
- Shell字符串截取的详细方法
- 大型JavaScript应用程序架构设计模式
- jquery 图片上传按比例预览插件集合
- Linux中tcpdump命令实例详解
- jQuery+ajax实现局部刷新的两种方法
- jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
- Android自定义ListView实现仿QQ可拖拽列表功能
- java大数乘法的简单实现 浮点数乘法运算
- Java Swing实现JTable检测单元格数据变更事件的方法示例
- java版数独游戏界面实现(二)
- Python subprocess库的使用详解