【发布时间】:2013-08-01 10:51:24
【问题描述】:
我基本上有两个功能:
- 一个读文件(post):
loadPost(name) - 一个读取所有文件:
loadPosts()
显然loadPosts() 调用loadPost(name)。
两者都返回最终的 html。
理想情况下我应该异步编写它。
问题是:我不知道如何异步处理,因为我需要等到文件完全读取后才能继续。
这是我的同步解决方案:
function loadPost(name){
var post = fs.readFileSync("_posts/"+name,'utf8');
// Convert Markdown to html
var marked = mark(post);
return marked;
}
function loadPosts(){
var files = fs.readdirSync("_posts/");
var html;
for(var i = 0; i < files.length ; i++){
html += loadPost(files[i]);
}
return html;
}
【问题讨论】:
标签: node.js asynchronous file-io fs