【问题标题】:Passing callback as function argument将回调作为函数参数传递
【发布时间】:2019-02-22 16:30:51
【问题描述】:

我在回调方面遇到了困难,不知道这是否真的是将回调函数作为参数传递的正确方法。请帮帮我。下面是我的代码sn-p

服务模块

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));
};

提前致谢

【问题讨论】:

  • 是的,有回调。
  • @KevinB 我没听懂你。你能详细说明一下吗?
  • 您所拥有的实际上是在 javascript 中使用的回调示例。换句话说......“是”
  • 或者,换个说法,你已经做得对了……你需要我们做什么?
  • 我是 node 和 JS 的新手,所以想知道我的实现方式是否正确。顺便说一句,非常感谢您的回复。

标签: javascript node.js jwt


【解决方案1】:

我能够成功执行代码..再次查看代码我如何处理 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));
};

这可以是一个简单的演示,将回调实现(在一个模块中完成)作为参数传递给另一个函数(在另一个模块中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多