我在使用回调时遇到了麻烦,无法弄清楚这是否实际上是将回调函数作为参数传递的正确方法。请帮帮我。以下是我的代码段
服务模块
jwt.signToken({userName: success.data.username, userId: success.data.userId}, secret, expiresIn, (error, token) => {
if(error) {
console.log('::::::::::Error generating token::::::::');
console.log(error);
next(returnError({message: 'Internal Server Error', status: 500}));
} else {
sendSuccessResponse({data: {token: token, user: {userName: success.data.username, userId: success.data.userId},status: 200}}, response);
}
});
身份验证模块
const signToken = (payload, secret, expireIn, callback) => {
jwt.sign(payload, secret, {expiresIn: expireIn}, (error, token) => callback(error, token));
};
预先感谢
答案 0 :(得分:0)
我能够成功执行代码。再次查看代码如何处理 service 层中的回调
jwt.signToken({userName: success.data.username, userId: success.data.userId}, secret, expiresIn, function(error, token) {
if(error) {
next(returnError({message: 'Internal Server Error', status: 500}));
} else {
sendSuccessResponse({
data: {
token: `${token}`,
user: {
userName: success.data.username,
userId: success.data.userId
}
},
status: 200
},response);
}
});
我的 jwt模块是
const signToken = (payload, secret, expireIn, callback) => {
jwt.sign(payload, secret, {expiresIn: expireIn}, (error, token) => callback(error, token));
};
这可能是将回调实现(在一个模块中完成)作为参数传递给另一个函数(在另一个模块中)的简单演示。