TypeError:回调不是函数,“node_modules\jsonwebtoken\sign.js:101:14)”
Posted
技术标签:
【中文标题】TypeError:回调不是函数,“node_modules\\jsonwebtoken\\sign.js:101:14)”【英文标题】:TypeError: callback is not a function, "node_modules\jsonwebtoken\sign.js:101:14)"TypeError:回调不是函数,“node_modules\jsonwebtoken\sign.js:101:14)” 【发布时间】:2020-07-17 11:25:46 【问题描述】:当我在 Postman 中执行注册操作时,控制台中出现以下错误:
错误:
TypeError:回调不是函数, node_modules\jsonwebtoken\sign.js:101:14)
问题出在这一行:
const token = jwt.sign(name, email, password, process.env.JWT_SECRET, process.env.JWT_ACCOUNT_ACTIVATION, expiresIn: '10m');
控制器/身份验证
const User = require('../models/user');
const jwt = require('jsonwebtoken');
exports.signup = (req, res) =>
const name, email, password = req.body;
User.findOne(email).exec((err, user) =>
if (user)
return res.status(400).json(
error: "Email is taken"
)
const token = jwt.sign(name, email, password, process.env.JWT_SECRET, process.env.JWT_ACCOUNT_ACTIVATION, expiresIn: '10m');
);
;
更新
当我删除process.env.JWT_SECRET
时,它起作用了。我必须使用process.env.JWT_SECRET
吗?
【问题讨论】:
【参考方案1】:jwt.sign 基本接受四个参数
有效载荷 秘密 选项 回调函数如果您在这种情况下更改顺序,您将收到此错误
【讨论】:
【参考方案2】:用 process.env.JWT_ACCOUNT 交换 process.env.JWT_SECRET 的位置,反之亦然
【讨论】:
以上是关于TypeError:回调不是函数,“node_modules\jsonwebtoken\sign.js:101:14)”的主要内容,如果未能解决你的问题,请参考以下文章
Uncaught TypeError 不是 AJAX 回调函数
未捕获的 TypeError:回调不是 Vuejs 上的函数