Я использую серверный модуль nodejs для создания лямбда-функции aws.
'use strict';
const request = require('request');
const options = {
url: 'https://api.mysportsfeeds.com/v2.0/pull/nfl/2018-regular/games.json',
method: 'GET',
headers: {
"Authorization": "Basic " + Buffer.from("1da103"
+ ":" + "MYSPORTSFEEDS").toString('base64')
}
}
//this is automatically called by aws
module.exports.hello = async (event, context) => {
let result;
request.get(options, (error, response, body) => {
result = JSON.parse(body).lastUpdatedOn; //never happens cuz of async
});
return {
statusCode: 200,
body: JSON.stringify({
message: 'Go Serverless v1.0! Your function executed successfully!',
input: result,
}),
};
};
У меня проблема в том, что я не могу вернуть вывод из запроса get, потому что присвоениепеременная результата (в асинхронном запросе get) происходит после оператора return.Я не думаю, что смогу превратить внешнюю функцию в функцию обратного вызова для запроса get.Как я мог обойти это?