Я использую модуль got для выполнения запросов POST для получения данных. Я хочу синхронно вызвать 3 API, получить объекты ответа, затем обратный вызов. У меня возникли проблемы при получении ответа на объект обратного вызова. Он возвращает {} вместо фактического ответа. Я также хотел бы сделать все эти вызовы синхронно, чтобы запросы происходили одновременно, чтобы сэкономить время.
const got = require('got');
exports.handler = (event, context, callback) => {
async function getDATA1() {
return await got.post('https://url.com/serviceapi/1/', {
responseType: 'json',
resolveBodyOnly: true,
username: 'user',
password: 'pass',
json: {
"Input": {
"item":1,
}
}
}).json();
}
async function getDATA2() {
return await got.post('https://url.com/serviceapi/2/', {
responseType: 'json',
resolveBodyOnly: true,
username: 'user',
password: 'pass',
json: {
"Input": {
"item":2,
"color":"blue",
}
}
}).json();
}
async function getDATA3() {
return await got.post('https://url.com/serviceapi/3/', {
responseType: 'json',
resolveBodyOnly: true,
username: 'user',
password: 'pass',
json: {
"Input": {
"item":3,
"size":"large",
}
}
}).json();
}
callback(null,{
"DATA1": getDATA1(),
"DATA2": getDATA2(),
"DATA3": getDATA3(),
});
};
Ответ, который я получаю,
{
"DATA1": {},
"DATA2": {},
"DATA3": {}
}
Ответ, который я ожидаю / хочу, выглядит примерно так
{
"DATA1": {
"available_f":"Y"
},
"DATA2": {
"available_f":"N"
},
"DATA3": {
"available_f":"Y"
},
}