Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
Javascript Node js-页面呈现发生在数据库更新之前_Javascript_Node.js_Express_Async Await - Fatal编程技术网

Javascript Node js-页面呈现发生在数据库更新之前

Javascript Node js-页面呈现发生在数据库更新之前,javascript,node.js,express,async-await,Javascript,Node.js,Express,Async Await,我一直在尝试在用户被删除后呈现我的admin页面,从前端的角度来看,有一个包含所有现有用户的简单表,删除操作可以工作,但我需要刷新我的页面以查看更新的结果,这就像呈现发生在数据库删除用户之前 下面是它在我的route.js中的外观 router .route('/admin_interface/:id') .get( user_controller.allowIfLoggedin, user_controller.grantAccess('readAny', 'admin

我一直在尝试在用户被删除后呈现我的
admin
页面,从前端的角度来看,有一个包含所有现有用户的简单表,删除操作可以工作,但我需要刷新我的页面以查看更新的结果,这就像呈现发生在数据库删除用户之前

下面是它在我的
route.js中的外观

router
  .route('/admin_interface/:id')
  .get(
    user_controller.allowIfLoggedin,
    user_controller.grantAccess('readAny', 'admin_interface'),
    user_controller.getUsers,
    (req, res) => {
      res.render('admin_interface', { users: req.params.users,alert:req.error})
    }
  )
  .post(user_controller.getUsers,async (req, res) => {
      if (Object.keys(req.body)[0] === 'delete_ID')
        await user_controller.deleteUser(req, res)
      if (Object.keys(req.body)[0] === 'approve_ID')
        await user_controller.verifyDoctor(req, res)
    res.render('admin_interface', { users: req.params.users, alert: req.error })
  })
因此,它的工作原理是,它对应于我从
ejs
文件获得的操作名称,如果它是
delete\u ID
,它将进入第一个
if
块,但同时它将在
deleteUser
方法完成之前呈现页面

这是我在
UserController.js
文件中的
deleteUser
方法:

exports.deleteUser = async (req, res) => {
  try {
    const userId = req.body.delete_ID
    await User.findByIdAndDelete(userId)
    throw 'User has been deleted.'
  } catch (msg) {
    req.error = { Message: msg, statusCode: '200' }
    res.status(200)
  }
}
删除后,它应该刷新并显示
用户已被删除。
消息(这种类型的消息显示有效,因此不必担心该功能)