Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

关于新版本的node.js的同步和异步的问题!

$
0
0

node.js在原理上是单线程非阻塞I/O,使用事件驱动的,但是为什么同时有同步和异步的方法?

举个例子:

场景:遍历某个目录下的所有的文件,并将文件夹的名称写入到一个新数组中

直接给大家上代码: var http = require(‘http’); var fs = require(‘fs’);

http.createServer(function(req,res){ // 跳过请求的收藏夹的图标 if(req.url==’/favicon.ico’){ return ; } // 定义要读取的目录 var path = ‘./demo/’;

// 定义数组对象dir,包含所有的文件夹名称
var dir = [];
/*
*  readdirSync() 以同步的方式读取文件夹
* */
var files = fs.readdirSync(path);
// 遍历包含所有文件名的files数组
for(var i in files){
    // 拼接指定的路径,读取文件状态
    var stats =  fs.statSync(path+files[i]);
	// 判断是否是目录
    if(stats.isDirectory()){
        dir.push(files[i]);
    }
}

// 输出最终的结果
console.log(dir);

// 结束响应
res.end();

}).listen(888,‘127.0.0.1’);

这样去实现有没有问题?


Viewing all articles
Browse latest Browse all 14821

Trending Articles