首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >等待在Javascript中返回API结果

等待在Javascript中返回API结果
EN

Stack Overflow用户
提问于 2018-10-04 03:21:15
回答 1查看 187关注 0票数 0

假设我有一个函数,它在1秒后返回输入的结果:

function slowDouble(num) {
    setTimeout(() => {
        return num * 2;
    }, 1000);
}

现在我想调用这个函数并等待返回结果,这样我就可以对它进行其他操作了。我试图将此函数包装在Promise中,但在执行log语句(打印undefined)后,结果被返回给then块:

function promisify(num) {
    return new Promise((resolve) => {
        var res = slowDouble(num);
        resolve(res);
    });
}

function promisifyTest(num) {
    promisify(num).then((res) => {
        console.log('then result ', res);
    })
}

promisifyTest(4); // undefined

然后我试着用await

async function asyncCallToAPI(num) {
    var tt = await promisify(num);
    console.log('async result', tt);
}

asyncCallToAPI(3); // undefined

并得到了相同的undefined结果。我知道这与这里问的其他问题非常相似,但我还不能解决这个问题。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52634278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档