У меня есть файл asyncAwait.js
, который имеет простую функцию:
async function doStuff() {
return(`Function returned string.`);
}
module.exports.doStuff = doStuff;
В другом модуле testing.js
, я вызываю, и все работает, как ожидалось:
var functions = require(`./functions`);
(async () => {
const test = await functions.asyncAwait.doStuff();
console.log(test);
})();
Это журналы "Функция вернула строку." на консоль.
Все хорошо.
Однако, если я использую топор ios в asyncAwait.js
:
const axios = require(`axios`);
async function doStuff(parameter) {
const url = `https://jsonplaceholder.typicode.com/posts/1`;
const getData = async url => {
try {
const response = await axios.get(url);
const data = response.data;
console.log(data);
} catch (error) {
console.log(error);
}
};
return(getData(url));
}
module.exports.doStuff = doStuff;
Тогда в testing.js
:
var functions = require(`./functions`);
(async () => {
const test = await functions.asyncAwait.doStuff();
console.log(test);
})();
Этот журнал undefined
.
Почему во втором примере вызов функции возвращает undefined?