Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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.bcrypt.js,错误:“;未定义未给出任何回调函数”;_Javascript_Node.js_Reactjs_Bcrypt - Fatal编程技术网

Javascript node.bcrypt.js,错误:“;未定义未给出任何回调函数”;

Javascript node.bcrypt.js,错误:“;未定义未给出任何回调函数”;,javascript,node.js,reactjs,bcrypt,Javascript,Node.js,Reactjs,Bcrypt,所以我现在正在学习Mosh Hamdani的Mastering React课程,后端开发给了我很多问题。最近的一个错误是:“未定义,未给出回调函数”。我正在尝试使用bcrypt注册一个新用户 要解决我尝试使用的问题,请执行以下操作: const salt = bcrypt.genSalt(10, function(_err, salt) { bcrypt.hash(user.name, salt, function(_err, hash) { // Store hash in your

所以我现在正在学习Mosh Hamdani的Mastering React课程,后端开发给了我很多问题。最近的一个错误是:“未定义,未给出回调函数”。我正在尝试使用bcrypt注册一个新用户

要解决我尝试使用的问题,请执行以下操作:

const salt = bcrypt.genSalt(10, function(_err, salt) {
bcrypt.hash(user.name, salt, function(_err, hash) {
    // Store hash in your password DB.
});
});
即使这样也不起作用

如果有人能帮助我,我将不胜感激

这是我的user.js文件:

  const auth = require("../middleware/auth");
  const bcrypt = require("bcrypt-nodejs");
  const _ = require("lodash");
  const { User, validate } = require("../models/user");
  const express = require("express");
  const router = express.Router();

  router.get("/me", auth, async (req, res) => {
  const user = await User.findById(req.user._id).select("-password");
  res.send(user);
  });

 router.post("/", async (req, res) => {
 const { error } = validate(req.body);
 if (error) return res.status(400).send(error.details[0].message);

 let user = await User.findOne({ email: req.body.email });
 if (user) return res.status(400).send("User already registered.");

 user = new User(_.pick(req.body, ["name", "email", "password"]));
 const salt = await bcrypt.genSalt(10);
 user.password = await bcrypt.hash(user.password, salt);
 await user.save();

 const token = user.generateAuthToken();
 res
.header("x-auth-token", token)
.send(_.pick(user, ["_id", "name", "email"]));
 });

 module.exports = router;
这是我在终端收到的警告:

(节点:7776)弃用警告:当前URL字符串解析器已弃用,将在未来版本中删除。要使用新的解析器,请将选项{useNewUrlParser:true}传递给MongoClient.connect。 (节点:7776)弃用警告:当前服务器发现和监视引擎已弃用,将在未来版本中删除。使用 新建服务器发现和监视引擎,将选项{useUnifiedTopology:true}传递给MongoClient构造函数。 信息:正在侦听端口3900。。。
(节点:7776)弃用警告:collection.ensureIndex已弃用。改用createIndexes。

好的,我之前没有意识到的是,bcrypt nodejs不再处于活动状态。而是使用bcryptjs

我还将代码升级为:

bcrypt.genSalt(10, function (_err, salt) {
bcrypt.hash(user.name, salt, function (_err, hash) {
 // Store hash in your password DB.
 user.password = hash;
});
});

你能分享你得到的错误的完整跟踪吗?