У меня есть два. js файла, таких как:
index. js:
app.get("/testing", (req, res) => {
testAsyncFunction().then((resolvedData) => {
res.send(resolvedData);
});
})
и сервер. js:
const asyncFunction = () => {
return new Promise((res) => {
setTimeout(() => {
res('resolved');
},3000 )
})
}
const testAsyncFunction = () => {
return new Promise(async (res) => {
const result = await asyncFunction();
return res(result);
})
}
и это работает как задумано, но если я изменю функцию testAsyncFunction (чтобы я не создавал новое обещание) на что-то вроде этого:
const testAsyncFunction = async () => {
const result = await asyncFunction();
return result;
}
и в index. js:
app.get("/testing", (req, res) => {
res.send(testAsyncFunction());
})
Я получаю пустой объект, потому что он не ждет 3 секунды, что я упускаю в последнем случае? Я хочу избежать создания нового Обещания, просто ожидая другого обещания.
ОБНОВЛЕНИЕ
Я изменил функцию testAsync на что-то вроде этого:
const testAsyncFunction = () => {
asyncFunction().then((result) => {
return result;
})
}
Хотя выше функция. это не asyn c функция, почему я все еще должен ждать ее в index.js
.. Я предполагаю, что возвращаемое значение не будет обещанием в этом случае, так что это часть, в которой я запутался .