我从'/ api / markdown / filename'获得了'./markdown'文件的代码
var apiRouter = express.Router();
apiRouter.get('api/markdown/:reqFile', function(req, res) {
fs.readdir(markdownFolder, function(err, markdown) {
if (err) throw err;
markdown.forEach(function(file) {
fs.readFile(markdownFolder + file, 'utf8', function(err, file_content) {
if (err) throw err;
fileNoExtension = file.slice(0, file.indexOf('.'));
if (req.params.markdown_file_noext == reqFile) {
res.json({
'title': fileNoExtension,
'markdown': marked(file_content)
});
};
});
});
});
});
但是我结束了很多回调,我该如何避免这种情况?
答案 0 :(得分:-1)
你有2种方法可以避免这种回调地狱,这是
命名您的函数并声明它们并仅传递其名称 用作回调,而不是定义匿名函数 在主函数的参数中。
模块化:将代码分成模块,以便导出 执行特定工作的代码部分。然后你可以导入它 模块放入较大的应用程序[1]。
你可以参考这个链接,它解释了避免回调地狱的最佳方法:http://callbackhell.com/