gpt4 book ai didi

node.js - 为什么我的 nodejs 请求很慢?

转载 作者:可可西里 更新时间:2023-11-01 10:03:10 24 4
gpt4 key购买 nike

我是 nodejs 的新手,我试图通过创建一个包含用户列表的应用程序来学习,我可以添加和删除这些用户。我在前端使用 angularjs 向 nodejs 发送请求,然后向 mongodb 发送请求。问题是,如果我多次点击“adduser”按钮,我的应用程序就会变慢。 为了与 mongodb 交互,我使用:

app.get('/users',function (req, res) {
mongoose.model('Usuario').find(function (err, list) {
res.send(list);
});
});
app.post('/addusuario', function (req,res) {
var usuario = new Usuario(req.body);
usuario.save(function (err) {
if (err) {
console.log(err);
} else {
console.log('Usuario salvo com sucesso');
}
}); });
app.delete('/delusuario/:id', function (req, res) {
var id = req.params.id;
mongoose.model('Usuario').findByIdAndRemove(id , function(err) {
if(err) {
console.log(err);
} else {
console.log('Usuario removido com sucesso!');
}
});
});

我是我的 angularapp:

  app.controller('AppCtrl', function($scope, $http, Data) {

function reload() {
Data.get('users').then(function(data){
$scope.usuarios = data;
console.log(data);
});
};


$scope.addUsuario = function(usuario) {
Data.post('/addusuario', usuario);
reload();
};

$scope.deletarUsuario = function(id) {
Data.delete("/delusuario/"+id).then(function(result) {

});
reload();
};

reload();
});

不知道为什么点击添加用户超过3次就变慢了..

最佳答案

我在您的代码中看到您没有向用户发回响应,您应该在数据库中插入或删除后做一些事情。 res.end();

您应该按以下方式重写您的代码:

app.get('/users',function (req, res) {
mongoose.model('Usuario').find(function (err, list) {
res.send(list);
});
});

app.post('/addusuario', function (req,res) {
var usuario = new Usuario(req.body);
usuario.save(function (err) {
if (err) {
console.log(err);
res.json({err: err});
} else {
res.json({ok: true});
console.log('Usuario salvo com sucesso');
}
}); });

app.delete('/delusuario/:id', function (req, res) {
var id = req.params.id;
mongoose.model('Usuario').findByIdAndRemove(id , function(err) {
if(err) {
console.log(err);
res.json({err: err});

} else {
res.json({ok: true});
console.log('Usuario removido com sucesso!');
}
});
});

您通过不向客户端返回响应来阻塞堆栈。这很可能是您请求缓慢的原因。

关于node.js - 为什么我的 nodejs 请求很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36566029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com