使用Express的Async / await返回Promise {<pending>}

时间:2018-06-07 08:06:41

标签: node.js express async-await

我试图在一些教程之后使用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 :(得分:3)

您还需要在get_media方法上执行async / await。这是因为您在此方法中调用async函数get_media_async,因此这也需要异步。

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