async和await配合Promise的简单理解及使用场景

promise可以理解为将异步代码用同步的思维去写, 如果没有promise内部请求还没有执行就返回了参数或者空。

promise会阻塞式执行代码,等待回调的结果

		//放到F12控制台中更清晰
        function resolveAfter2Seconds() {
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    //模拟接口返回的参数
                    let res = {
                        code: '0000'
                    }
                    if (res.code === '0000') {
                        resolve(res) //成功调用
                    } else {
                        reject(res) //失败调用
                    }
                }, 4000);
            });
        }
        async function asyncCall() {
            console.log('1.开始调用异步请求的函数');
            const result = await resolveAfter2Seconds(); //函数内部为异步请求promise
            console.log(result,'最后返回调用结果'); //四秒后打印出回调
            console.log('3.调用reject后代码回继续执行,resolve则终止并抛出异常')
        }
        asyncCall();
        console.log('2.同步代码继续执行')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值