【问题标题】:how to write response in switch case using nodejs如何使用nodejs在switch case中编写响应
【发布时间】:2017-08-14 18:28:45
【问题描述】:

在控制台中显示响应,但在邮递员中仅显示发送请求。如何在邮递员中返回有效响应。我如何为这个我尝试了所有的代码编写代码。

这是我目前的代码:

 var sendStreamingTemplate = function (req, res) {

    authToken = req.headers.authorization;
    userAuthObj = JSON.parse(UserAuthServices.userAuthTokenValidator(authToken));
    var todayDate = new Date();
    var expireDate = new Date(userAuthObj.expire_date);
    tokenOK = TokenValidator.validateToken(userAuthObj.user_id, authToken).then(function (userSessions) {
        if (userSessions.length === 1) {
            if (expireDate >= todayDate) {
                StreamingTemplateId = req.params.id;

                Template.findById(StreamingTemplateId).then(function (streamingTemplate) {
                    if (streamingTemplate === null) {
                        res.status(404).json({
                            message: 'Streaming not found...'
                        })
                    } else {

                        console.log(streamingTemplate);
                      switch(streamingTemplate.template_name.toString().toLowerCase()){
                               case "notification":
                              //if write return response means it will return something went wrong
                                break;
                               case "invoice":

                                break;
                               case "voucher":

                                break;
                               default:

                               break;
                           }
                    }
                }).catch(function (err) {
                    res.status(500).json({
                        message: 'something went wrong...'
                    });
                });
            } else {
                res.status(401).json({
                    message: 'Not Authorized...'
                });
            }
        } else {
            res.status(401).json({
                message: 'Token Expired...'
            });
        }
    }).catch(function (err) {
        res.status(401).json({
            message: 'Token Expired...'
        });
    });
};

这是控制台的输出:

Instance { 
    dataValues: { 
        id: 1, template_name: 'StreamNotification', description: 'Streaming', template_content: 'Mail notification', is_active: true 
    }, 
    _previousDataValues: {     
        id: 1, template_name: 'StreamNotification', description: 'Streaming', template_content: 'Mail notification', is_active: true 
    }, 
    _changed: {
    },
}

【问题讨论】:

  • 请有人帮帮我
  • “在控制台中显示响应,但在邮递员中仅显示发送这样的请求。我将如何在邮递员中返回响应” 这无助于理解您的问题。正确解释您的问题,以便其他人可以提供帮助。还可以尝试在您的问题中添加一些其他标签,例如 postman
  • 这是我的控制台输出。
  • 我也想在邮递员中输出这个。
  • 现在在postman 中显示的响应是什么??

标签: node.js postman


【解决方案1】:

看起来当您点击 switch 语句时,代码没有设置响应。尝试在 console.log 行之后立即添加:

res.json(streamingTemplate)

甚至

res.send(streamingTemplate)

取决于streamingTemplate 的类型。您可能需要根据 switch 语句改变响应,在这种情况下,您可以在每个 case 中设置一些返回值,然后将响应移动到 switch 的末尾。取决于你想做什么。

【讨论】:

  • 我想通过邮件(如 html table.tableheaders 和相应的数据)以表格格式发送响应,然后从表格中写入消息。
  • case "notification": result: ' ' + '' +'

    消息:Streaming 成功运行...

    '+ '}
    Broadcaster Broadcasterchannel 状态
    '休息;
  • 我不确定您的问题是什么,但发送电子邮件与发送 http 响应无关。尝试在发送 HTTP 响应之前向您的邮件模块添加调用。
  • 这是我的问题吗?无论我从这个 res.json(streamingTemplate) 中得到什么,我都必须通过邮件发送这些数据,并且该格式是表格格式。
  • 您已经有邮件解决方案了吗?如果没有,请查看nodemailer.com/about。还是您的邮件服务不接受您发送的内容的问题?
猜你喜欢
  • 2020-03-17
  • 2022-11-03
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多