Асинхронное ожидание с экспресс-возвратом Promise {<pending>} - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь использовать функцию async / await, следуя некоторым урокам, но я не знаю, почему всегда возвращает

Promise { <pending> }

Вот мой код:

function doubleAfter2Seconds(x) {
    return new Promise(resolve => {
        setTimeout(() => {
            console.log(x);
            resolve(x * 2);
        }, 2000);
    });
}
async function get_media_async (media_id) {
    const a = await doubleAfter2Seconds(10);
    return a;
}


exports.get_media = function(media_id){
    var media_url = get_media_async(media_id);
    return media_url;
};

Любая помощьбыл бы оценен!

1 Ответ

0 голосов
/ 07 июня 2018

Вам также необходимо выполнить асинхронное / ожидание для метода get_media.Это потому, что вы вызываете async функцию get_media_async из этого метода, поэтому это также должно быть асинхронным.

exports.get_media = async function(media_id){
    var media_url = await get_media_async(media_id);
    return media_url;
};
...