1.阻塞. 同步.

1) 读取的文件: input.txt

菜鸟教程官网地址:www.runoob.com

2) main.js

 var fs = require("fs");

 //同步读取, 阻塞代码,按顺序执行的
var data = fs.readFileSync('input.txt'); console.log(data);
console.log(data.toString());
console.log("程序执行结束!");

执行:

注意:

第一:绿色方框的是 输出 data.     可见 不可以直接输出读取的文件,  要使用  data.toString()

第二: 阻塞执行 ,是同步的, 按照顺序的.

如果指定 字符集.

 var fs = require("fs");

 //同步读取, 阻塞代码,按顺序执行的
var data = fs.readFileSync('input.txt', 'utf8');
console.log(data);
console.log(data.toString());
console.log("程序执行结束!");

执行:

2. 非阻塞 ,异步:

1) 要读取的文件 .   input.txt

菜鸟教程官网地址:www.runoob.com

2) main.js

 var fs = require("fs");

 //同步读取, 阻塞代码,按顺序执行的
// var data = fs.readFileSync('input.txt');
// console.log(data);
// console.log(data.toString());
// console.log("程序执行结束!"); //异步读取, 阻塞, 不是按照顺序.
fs.readFile("input.txt", function(err, data){
//err:
console.log("err:", err);
if (err) {
return console.error(err);
};
console.log(data); console.log(data.toString());
}); console.log("程序执行结束!");

执行:

-----------------

如果指定 字符集.

var fs = require("fs");

//同步读取, 阻塞代码,按顺序执行的
// var data = fs.readFileSync('input.txt');
// console.log(data);
// console.log(data.toString());
// console.log("程序执行结束!"); //异步读取, 阻塞, 不是按照顺序.
// fs.readFile("input.txt", function(err, data){
// //err:
// console.log("err:", err);
// if (err) {
// console.error(err);
// };
// console.log(data); // console.log(data.toString());
// }); // console.log("程序执行结束!"); fs.readFile("input.txt","utf8", function(err, data){
//err:
console.log("err:", err);
if (err) {
return console.error(err);
};
console.log(data); console.log(data.toString());
}); console.log("程序执行结束!");

参考链接:

Node.js 回调函数

Node.js 回调函数 1) 阻塞 ,同步 2) 非阻塞 ,异步.的更多相关文章

  1. 5、Node.js 回调函数

    内容:回调函数:阻塞/同步.非阻塞.和异步区别:阻塞和非阻塞代码实例 Node.js 回调函数Node.js 异步编程的直接体现就是回调.异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. ...

  2. Node.js 回调函数

    Node.js 回调函数 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数, ...

  3. 简单测试Java线程安全中阻塞同步与非阻塞同步性能

    摘抄自周志明老师的<深入理解Java虚拟机:JVM高级特性与最佳实践>13.2.2 线程安全的实现方法 1.名词解释 同步是指锁哥线程并发访问共享数据时,保证共享数据同一时刻只被一个线程访 ...

  4. boot asio 非阻塞同步编程---非阻塞的accept和receive。

    boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...

  5. node.js回调函数 - 阻塞与非阻塞

    1.阻塞调用(读取完文件再执行后面的操作) var fs = require("fs"); var data = fs.readFileSync('/fs.txt'); conso ...

  6. Node.js 学习(四)Node.js 回调函数

    Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都 ...

  7. 17.Node.js 回调函数--异步编程

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程 ...

  8. arcgis api for js回调函数如何等待同步

    arcgis js开发往往会遇到同步异步的问题,有可能在上一步使用了arcgis js模块回调函数,下一步需要用上一步回调函数的结果,但是因为JavaScript是异步执行的,它并不会等待上一步的回调 ...

  9. JS回调函数(理解篇)

    概述: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而 ...

随机推荐

  1. 移动端 meta 必备

    将页面宽度到跟手机宽度比例相同,在手机上不能用手缩放 <meta name="viewport"  content="width=device-width" ...

  2. Sticks HDU - 1455 (未完成)

    George took sticks of the same length and cut them randomly until all parts became at most 50 units ...

  3. Python while循环实现重试

    try: pass#要执行的代码 except: 状态=True while 状态==True: try: winsound.Beep(800, 1000)#报警提示音 循环=300 while 循环 ...

  4. python-项目流程分析及优化查询方法

    项目流程分析: ****** 1. 需求分析 2. 知识点 - 插件 3. 功能分析: - 用户登录 - session - 签名cookie PS: 主动设置超时时间:request.session ...

  5. 通过cassandra-cli客户端了解cassandra的内部数据结构

    和cassandra数据库交互的方式有两种,一种是通过类似于cassandra-cli命令的thrift api,或者通过cassandra提供的cql(cassandra query lanugag ...

  6. Golang 在 Mac、Linux、Windows 下如何交叉编译(转)

    原文地址:Golang 在 Mac.Linux.Windows 下如何交叉编译 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下 ...

  7. 一、集合框架(Collection和Collections的区别)

    一.Collection和Map 是一个接口 Collection是Set,List,Queue,Deque的接口 Set:无序集合,List:链表,Queue:先进先出队列,Deque:双向链表 C ...

  8. 微信小程序生成二维码

    微信小程序客户端生成二维码的方法, 请参考这里: https://github.com/demi520/wxapp-qrcode  代码片段如下: const QR = require(". ...

  9. 窗体应用程序防腾讯QQ源码

    窗体应用程序防腾讯QQ源码 using System; using System.Collections.Generic; using System.ComponentModel; using Sys ...

  10. Latex 循环插图、文件名包含空格

    \,...,} { \begin{figure} \centering \includegraphics[width=10cm]{pictures//rela\n} \caption{Attribut ...