javascript - 如何在非async函数下使用await

查看:263
本文介绍了javascript - 如何在非async函数下使用await的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

await需要在async函数中使用,所以每次我们想要使用await必须先在async函数中定义,然后调用这个async函数。

就比如这样

async function fn(){}
fn()

详细一点的例子

        async function asy(){
            // 获取当前城市的位置 获取热门城市 获取所有城市
            const [resCityGuess,resCityHot,resCityAll]=await Promise.all([
                            this.http.get('api/v1/cities?type=guess'),
                            this.http.get('api/v1/cities?type=hot'),
                            this.http.get('api/v1/cities?type=group')
            ])
            this.cityGuessName=resCityGuess.data.name;
            this.cityGuessId=resCityGuess.data.id;
            this.cityHot=resCityHot.data;
            this.cityAll=resCityAll.data;
        }
        asy.apply(this);

每次使用await之前都需要多定义一次async然后再调用,这一个过程我觉得略微麻烦以及重复,所以想问下是否存在什么办法优化或者解决这一问题?

解决方案

async 可以不需要 await, await 必须依赖 async

这篇关于javascript - 如何在非async函数下使用await的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆