Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Node.js 处理在节点js和mongoose中异步保存和重定向_Node.js_Mongoose - Fatal编程技术网

Node.js 处理在节点js和mongoose中异步保存和重定向

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

我是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',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(“保存”);
}
})
});

有时人们会问一些奇怪的问题:-)。。谢谢有时候人们会问一些奇怪的问题:-)。。谢谢