开发者社区> 问答> 正文

内部没有await关键字的async函数

已解决

我一直认为async函数需要包含“await”关键字,例如:

async function doTask() {
 let total = await CustomFunction(values);
 console.log(`Main Total: ${total}`);

但是我也看到了一些像这样定义async函数,而不用await:

doTask();
GetData = async ( method, url, params) =>
{
    Axios.request({
        method, url, params
    });
}

那么,在没有“await”关键字的函数前面添加async关键字有什么意义呢?

展开
收起
sossssss 2019-11-28 16:57:54 832 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    简而言之,如果你使用await在任何async函数之前,它会一直请求成功。 因为在您的例子中:

    async function doTask() {
     let total = await CustomFunction(values);
     console.log(`Main Total: ${total}`);
     return total;
    }
    doTask();
    
    

    在上面的例子中,如果您调用doTask()然后总数将包含请求的结果。但是如果你不使用await,那么total可能不包含请求的结果

    async function doTask() {
     let total = CustomFunction(values);
     console.log(`Main Total: ${total}`);
     return total;
    }
    doTask();
    

    现在,如果你用doTask()那么它可能会回来不明确的或者空的而不是实际的请求

    2019-11-28 17:02:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载