【发布时间】:2020-04-21 22:22:36
【问题描述】:
我正在尝试在 API 中调用休息 API,但它没有返回任何内容。所以我正在制作一个简单的 lambda,它返回一个 JSON,但得到一个空值作为响应。
var https = require('https');
var dt;
exports.handler = async (event, context) => {
var data = '';
return new Promise((resolve, reject) => {
var params = {
host: "cvwtzygw4a.execute-api.ap-south-1.amazonaws.com",
path: "/test/first"
};
const req = https.request(params, (res) => {
console.log('STATUS: ' + res.statusCode);
res.setEncoding('utf8');
res.o n('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
console.log("DONE");
console.log(data);
dt = JSON.parse(data);
console.log(dt);
});
resolve(dt);
});
req.on('error', (e) => {
reject(e.message);
});
// send the request
req.write('');
req.end();
});
};
【问题讨论】:
-
resolve(dt)不会等待异步调用。 -
您可以使用request-promise 来调用API
-
我是异步编程的新手,你能提供解决方案吗
标签: javascript api aws-lambda aws-api-gateway