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 Express Problem routes ReferenceError:无法访问';用户';初始化前问题验证_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express Problem routes ReferenceError:无法访问';用户';初始化前问题验证

Javascript Express Problem routes ReferenceError:无法访问';用户';初始化前问题验证,javascript,node.js,express,Javascript,Node.js,Express,我创建了一个更新密码的路由,然后我想console.log使用更新结果找到的用户,但我得到了一个错误 错误: (节点:13892)不推荐使用警告:不推荐使用未将“useFindAndModify”选项设置为false的Mongoose:`FindOneAndeDate()`和`findOneAndDelete()`选项。见:https://mongoosejs.com/docs/deprecations.html#findandmodify (使用`node--trace deprecation

我创建了一个更新密码的路由,然后我想
console.log
使用更新结果找到的用户,但我得到了一个错误

错误:
(节点:13892)不推荐使用警告:不推荐使用未将“useFindAndModify”选项设置为false的Mongoose:`FindOneAndeDate()`和`findOneAndDelete()`选项。见:https://mongoosejs.com/docs/deprecations.html#findandmodify
(使用`node--trace deprecation…`显示警告的创建位置)

ReferenceError:无法在初始化前访问'user',Problem auth
它来自
then()
回调函数,在该函数中,您试图在初始化
user
变量之前读取该变量的值-即在其声明中指定一个值。使用
let
绑定无法做到这一点

在这里,对
user
的赋值将在整个承诺链打开之前不会发生-只有当
then()
catch()
回调函数返回时才会发生

您应该坚持使用
await
语法,以同步方式编写整个代码,而不是混合使用
then()/catch()
callbacks-,问题应该自行解决

try {
  let user = await User.findOneAndModify(
    { email: req.query.email },
    { password: password }
  )

  console.log(user);
  res.redirect("/superuser/businesses");
} catch(error) {
  console.log(err + "problem auth"));
}

是的,听起来不错,我明天会检查并验证Res。