关于
龙仕云
(更多...)
关于我
书法绘画
我读的书
读书笔记
我的足迹
健身故事
==PPT==
fs. readdir() 与 fs.readdirSync() 的区别
日期:2015-05-13 20:46:21
标签:技术
node.js 关键是了解异步。如没有理解很难学好node.js 我个人认为凡是有 xxxx(,function(xx)) , function(xx)是异步执行的。经常写delphi 老是错在这地方。 例如: ```javascript fs.readdir(__dirname + '/public/shf', function(err, filenames){ for (i = 0; i < filenames.length; i++) { if((filenames[i].indexOf('.jpg')>0) || (filenames[i].indexOf('.JPG')>0)) { data.push(filenames[i]); if(data.length>5){break;}; }; }; res.writeHead(200); //正确 res.end(tpl({'imgs':data})); }); ``` //如放在外面则data的值是空的[] ===>错误 ```javascript res.writeHead(200); res.end(tpl({'imgs':data})); ``` 当然还有一个写法: ```javascript var filenames = fs.readdirSync(__dirname + '/public/shf'); //因为Sync是同步的了,从上向下执行。可以会好理解 for (i = 0; i < filenames.length; i++) { if((filenames[i].indexOf('.jpg')>0) || (filenames[i].indexOf('.JPG')>0)) { data.push(filenames[i]); if(data.length>5){break;}; }; }; res.writeHead(200); res.end(tpl({'imgs':data})); ```
←返回文章