我不知道为什么导出的函数findChilds
会返回undefined
功能如下:
const Folder = module.exports = mongoose.model('folder', FolderSchema);
module.exports = {
findChilds: (folderId) => {
Folder.find({
parent: folderId
}).then((childs => {
childs.forEach((child => {
module.exports.findChilds(child._id)
}));
return childs;
}));
}
};
并致电:
const folderModel = require('../models/Folder');
router.get('/remove/:id', (req, res) => {
let functionResult=folderModel.findChilds(req.params.id);
console.log(functionResult)
});
functionResult
仅显示未定义。
答案 0 :(得分:0)
使用箭头功能时,您有两种返回值的方法:
使用不带括号的单个表达式{}
:
module.exports = {
findChilds: (folderId) => Folder.find({ parent: folderId})
.then((childs => {
childs.forEach((child => {
module.exports.findChilds(child._id)
}));
return childs;
}))
}
使用实际的return
关键字:
module.exports = {
findChilds: (folderId) => {
return Folder.find({parent: folderId }).then((childs => {
childs.forEach((child => {
module.exports.findChilds(child._id)
}));
return childs;
}));
}
};
在查看forEach
方法中的then
循环时请记住这一点,您也会遇到问题!
英语不是我的母语,但孩子听起来像孩子一样好;)