我正在为Node.js中的问题寻找解决方案。请帮忙!
我有一个路由器“查找用户”,如果用户在db中存在,则继续执行taskFunc(),否则响应错误。但是,我的taskFunc()必须花费很多时间才能完成,因为每30秒它就会完成一项任务。
我想在检查用户存在后,必须立即响应客户端,taskFunc()只是在服务器上运行,如果有错误则抛出。
router.post('/router1, function(req, res){
var username = body.username
User.find({where: {username: username}})
.then(function(_data){
if(_data){
return taskFunc()
}else{
res.status(400).end()
}
})
})
var taskFunc = function(username){
// function này thời gian xử lý mất nhiều thời gian
// vì nó cứ nghỉ khoảng 30s mới thực hiện 1 nhiệm vụ khác
}
答案 0 :(得分:0)
答案 1 :(得分:0)
User.find({where: {username: username}})
.then(function(_data){
if(_data){
taskFunc()
res.status(200).send('ok')
}else{
res.status(400).end()
}
})
如果我理解正确,您只想发送回复并在后台运行任务?
如果是,请执行res.status(200).send('ok')