我基本上有两个功能:
- 一个读取文件(帖子):
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;
}