关于Promise和async/await的关系

4 篇文章 0 订阅

1.什么是promise?

promise是es6里面用于处理异步方法的对象,

promise会有三种状态:

pedding 进行中

fulfilled   成功

rejected  失败

成功会在then中返回,失败在catch中捕获

缺点:

promise的返回必须在then链中获取,用起来不方便

2.async/await

async是声明一个异步的方法,当调用一个 async 函数时,会返回一个 Promise 对象

await是等待一个异步方法执行完成,而且await只能在async里面使用

可以看下下面这个例子:

function say() {
        return new Promise(function(resolve, reject) {
            setTimeout(function() {
                let age = 26
                resolve(`hello, joel。今年我 ${age} 岁`);
            }, 1000);
        });
    }

    async function demo() {
        const v = await say();
        console.log(v);
    }
    demo();

   输出结果是: hello, joel。今年我 26 岁  

  如果不加await:会返回一个promise对象,显示是pending状态。

  加入不用async/await那么这个 console.log(v)就得放在promise的then链后面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值