首页 > 解决方案 > 如何在 nodeJS azure 存储中返回 404 和 200?

问题描述

如果 azure 存储中的队列消息失败,我需要返回 404,如果创建消息,我需要返回 200

我有这个代码

app.post('/enviarconsulta', (req, res) => {
    var result;
    var queueSvc = azure.createQueueService('DefaultEndpointsProtocol=https;AccountName=telemedicinastorage;AccountKey=key;EndpointSuffix=core.windows.net');
    
    queueSvc.createMessage('turnosqueue12', JSON.stringify(req.body), function(error, results, response) {
        if (error) {
            console.log(error);
        };
    });

    res.status(200)
        .json({
            status: 'succes',
            data: result,
        });
});

但它总是返回 200,如果出现错误,我需要更改它

if (error) {

    console.log(error);
      
};

标签: node.jsazure

解决方案


您只需要在 createMessage 函数的回调函数中响应即可。

app.post('/enviarconsulta', (req, res) => {
    var result;
    var queueSvc = azure.createQueueService('DefaultEndpointsProtocol=https;AccountName=telemedicinastorage;AccountKey=key;EndpointSuffix=core.windows.net');
    
    queueSvc.createMessage('turnosqueue12', JSON.stringify(req.body), function(error, results, response) {
        if (error) {
            res.status(404).json({
                status: 'error',
                data: result,
            });
        } else {
            res.status(200).json({
                status: 'succes',
                data: result,
            });
        }
    });
});

推荐阅读