Показать сообщение отдельно
  #1 (permalink)  
Старый 04.01.2021, 15:09
Новичок на форуме
Отправить личное сообщение для klinge Посмотреть профиль Найти все сообщения от klinge
 
Регистрация: 04.01.2021
Сообщений: 1

Ответ от API приходит позже отработки кода
Добрый день
Столкнулся с проблемой, что при вызове API его ответ приходит позже отработки кода и в ответе получаю undefined.

Для этого к меня 2 файла start.js и api.js.

В start.js я вызываю api.js и жду ответ:
const api = require("./api");
const result = api.users();
console.log(`result: ${result}`);

В api.js я вызываю само тестовое api:
const request = require('request');

module.exports = {
users: function () {
request.post({
url: "https://reqres.in/api/register",
json: true,
body: {
"email": "eve.holt@reqres.in",
"password": "pistol"
},
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error: ', err);
return err;

} else if (res.statusCode !== 200) {
console.log('Status: ', res.statusCode);
return `Status: ${res.statusCode}`;

} else {
console.log(`Success: ${JSON.stringify(data)}`);
return data;
}
});
},
};

Подскажите пожалуйста, как настроить вызов, что бы в start.js команда console.log(`result: ${result}`) отработала после после ответа от api.js?
Ответить с цитированием