Javascript 无法使用postman从express.js服务器获取响应

Javascript 无法使用postman从express.js服务器获取响应,javascript,node.js,express,response,postman,Javascript,Node.js,Express,Response,Postman,当我向邮递员发出post请求时,请求数据显示在服务器上,但服务器响应(即状态代码和json对象)没有发送给邮递员,邮递员只是在加载。。。一段时间后,它说无法从服务器获得响应 这是我的server.js类 var bodyParser = require('body-parser'); var express = require('express'); var {mongoose} = require('./db/mongoose'); var {Todo} = require('./model

当我向邮递员发出post请求时,请求数据显示在服务器上,但服务器响应(即状态代码和json对象)没有发送给邮递员,邮递员只是在加载。。。一段时间后,它说无法从服务器获得响应

这是我的server.js类

var bodyParser = require('body-parser');
var express = require('express');

var {mongoose} = require('./db/mongoose');
var {Todo} = require('./models/todo');
var {Users} = require('./models/Users');

var app = express();
app.use(bodyParser.json());

app.post('/todos', (req, res) =>{
var todo = new Todo({
text: req.body.text
});

todo.save().then((doc) => {
res.send(doc);
}, (e) => {
res.status(400).send(e);
});

});

app.listen(3000, () =>{
console.log('started at port 3000');
});

执行todo.save do
console.log(e)
检查mongo引发的错误时出错。您也可以在响应中发送错误,只是为了查看发生了什么,而不是写入
res.status(400).send(e)
write
res.send(e)
,它将发送错误作为响应。“无法获取响应”错误通常发生在您尚未从服务器发送任何响应时。在您的情况下,您是从承诺解析块发送响应,而不是从错误块发送响应

还要确保todo.save()返回承诺?也许你可以通过

todo.save(function(err,doc){
if(err){
return res.send(err);
}
res.send(doc);
})

您试图发出什么请求?将
.catch(err=>res.send(err))
添加到
todo.save()
。它可能抛出了一个异常,因此无法解析承诺。这段代码应该可以正常工作……我发出post请求。@malik所以发一篇到
http://localhost:3000/todos
?你能不能也把你的
/db/mongoose
?在邮递员控制台上,它给出了一个错误:read Econresets不工作,我甚至使用了上面的代码。现在显示错误“套接字挂起”