Node JS Azure函数在post方法后获取响应数据
Node JS Azure function get the response data after post method
我正在使用 JavaScript 创建一个通用的 Azure 函数。该函数将处理 POST 调用和 POST 另一个 API 的值。该函数按预期工作,但我无法在使用 Azure 函数
中的请求的 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 没有任何作用。请求模块没有 return 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);
}
});
});
}
我正在使用 JavaScript 创建一个通用的 Azure 函数。该函数将处理 POST 调用和 POST 另一个 API 的值。该函数按预期工作,但我无法在使用 Azure 函数
中的请求的 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 没有任何作用。请求模块没有 return 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);
}
});
});
}