Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法读取属性';然后';exports.HomePage(E:\project\blog\controllers\admin.js:5:9)中未定义的值_Javascript_Node.js - Fatal编程技术网

Javascript TypeError:无法读取属性';然后';exports.HomePage(E:\project\blog\controllers\admin.js:5:9)中未定义的值

Javascript TypeError:无法读取属性';然后';exports.HomePage(E:\project\blog\controllers\admin.js:5:9)中未定义的值,javascript,node.js,Javascript,Node.js,我不知道我为什么会出错 TypeError: Cannot read property 'then' of undefined at exports.HomePage (E:\project\blog\controllers\admin.js:5:9) 这是我的控制器部分代码 我创建了一个admin.js文件 const Blog=require(“../models/Blog”) exports.HomePage=(请求、回复、下一步)=>{ Blog.fetchAll() .然后(

我不知道我为什么会出错

TypeError: Cannot read property 'then' of undefined
    at exports.HomePage (E:\project\blog\controllers\admin.js:5:9)
这是我的控制器部分代码 我创建了一个admin.js文件

const Blog=require(“../models/Blog”)
exports.HomePage=(请求、回复、下一步)=>{
Blog.fetchAll()
.然后(文章=>{
res.render('blog'{
路径:“/”,
艺术:文章
})
})
.catch(错误=>{
控制台日志(err);
})
}
exports.getBlogPage=(请求、恢复、下一步)=>{
Blog.fetchAll()
.然后(文章=>{
res.render('add-blog'{
路径:'/add blog',
艺术:文章
})
})
.catch(错误=>{
控制台日志(err);
})
}
exports.postBlogPage=(请求、回复、下一步)=>{
const title=req.body.title
const blog=req.body.blog
const article=新博客(标题,博客)
文章
.save()
。然后(结果=>{
console.log('doenst work');
res.redirect(“/”)
})
.catch(错误=>{
控制台日志(err);
})
}
谁能告诉我我做错了什么吗 求你了,我真的需要一些帮助

下面是我的models/blog.js代码

const mongodb=require('mongodb');
const getDb=require('../util/database').getDb;
班级博客{
构造器(标题、博客){
这个.title=title;
this.blog=blog
}
保存(){
const db=getDb();
返回db.collection('blogs')
.insertOne(this)//insertOne充当高级推送方法
。然后(结果=>{
console.log('its connected')
})  
.catch(错误=>{
控制台日志(err);
})
}
静态fetchAll(){
const db=getDb();
分贝
.collection('博客')
.find()
.toArray()
。然后(博客=>{
console.log('works')
返回博客
})
.catch(错误=>{
console.log(错误)
})
}
}
module.exports=Blog;

我的模型/博客代码有什么问题吗?我明白了,我的代码无法收到承诺,但我真的不知道该怎么办。伙计们,我发现我在这里遇到的唯一愚蠢的问题是,我甚至没有在fetchAll部分返回我的db()

static fetchAll(){
const db=getDb();
返回数据库
.collection('博客')
.find()
.toArray()
。然后(博客=>{
console.log('works')
返回博客
})
.catch(错误=>{
console.log(错误)
})
}
}

我忘了返回我的函数

向我们展示../models/blog文件声音,就像有些东西不能返回承诺一样…是的,但我不知道该怎么做@epasarelloyea我已经更新了@Oli请检查一下好吗