繁体   English   中英

节点JS Azure function 获取post方法后的响应数据

[英]Node JS Azure function get the response data after post method

我正在使用 JavaScript 创建一个常见的 Azure function。 function 将处理 POST 调用并将值 POST 到另一个 API。 function 按预期工作,但我无法在使用 Azure function 中的请求的 POST 方法后获得响应值

    module.exports = async function (context, req) {
    var request = require("request");  
    var options = {
        url: "",
        method: "POST",
        json: true,
        body: req.body,
        headers: {                 
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    };
    return new Promise(async (resolve, reject) => {
    var responseData;
    var req = await request.post(options, (err, res, body) => {
        if (err) {
            console.log(err);
            reject(err);
        } else {
            responseData = body; 
            console.log(responseData); // it works
            resolve(responseData);
        }
    });
});

 
}

当在本地机器中作为单独的节点应用程序执行时,相同的逻辑工作。 如何获取响应值并传递给原点?

async/await 不做任何事情。 请求模块不返回 Promise。

如果您删除冗余代码会更好

    module.exports = function (context, req) {
    var request = require("request");  
    var options = {
        url: "",
        method: "POST",
        json: true,
        body: req.body,
        headers: {                 
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    };
    return new Promise((resolve, reject) => {
    var responseData;
    request.post(options, (err, res, body) => {
        if (err) {
            console.log(err);
            reject(err);
        } else {
            responseData =res.body; 
            console.log(responseData); // it works
            resolve(responseData);
        }
    });
});

 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM