Node.js 处理在节点js和mongoose中异步保存和重定向
我是node.js的新手,我只是想了解这些东西如何工作的异步本质。 好的,这是一个非常简单的表单提交。模型如下所示:-Node.js 处理在节点js和mongoose中异步保存和重定向,node.js,mongoose,Node.js,Mongoose,我是node.js的新手,我只是想了解这些东西如何工作的异步本质。 好的,这是一个非常简单的表单提交。模型如下所示:- var mongoose=require('mongoose'); var Schema=mongoose.Schema; var PostSchema=new Schema({ title:{type:String,required:true}, post:String, }); var PostModel=mongoose.model('blogpost',Post
var mongoose=require('mongoose');
var Schema=mongoose.Schema;
var PostSchema=new Schema({
title:{type:String,required:true},
post:String,
});
var PostModel=mongoose.model('blogpost',PostSchema);
module.exports=PostModel;
然后路由处理程序如下所示:-
app.post("/submitpost",function(req,res){
var title=req.body.title;
var post=req.body.post;
var thepost=new PostModel({title:title,post:post});
thepost.save(function(err,data){
if(err)throw err;
console.log(data);
})
console.log("title is "+title);
console.log("post is "+post);
res.send("saved");
});
现在假设验证在“post.save(callback)”期间失败,我希望显示一个错误页面,而不是“saved”。我该怎么做?只需将响应的呈现移动到回调中:
app.post(“/submitpost”),函数(req,res){
var title=req.body.title;
var post=请求主体post;
var thepost=newpostmodel({title:title,post:post});
post.save(函数(错误、数据){
如果(错误){
res.render('errorPage');
}否则{
控制台日志(数据);
控制台日志(“标题为”+标题);
控制台日志(“post为”+post);
res.send(“保存”);
}
})
});
只需将响应的呈现移动到回调中:
app.post(“/submitpost”),函数(req,res){
var title=req.body.title;
var post=请求主体post;
var thepost=newpostmodel({title:title,post:post});
post.save(函数(错误、数据){
如果(错误){
res.render('errorPage');
}否则{
控制台日志(数据);
控制台日志(“标题为”+标题);
控制台日志(“post为”+post);
res.send(“保存”);
}
})
});
有时人们会问一些奇怪的问题:-)。。谢谢有时候人们会问一些奇怪的问题:-)。。谢谢