关于es6:ayncawait

1、根本用法

// 应用async/await获取胜利的后果

// 定义一个异步函数,3秒后能力获取到值(相似操作数据库)
function getSomeThing(){
    return new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve('获取胜利')
        },3000)
    })
}

async function test(){
    let a = await getSomeThing();
    console.log(a)
}
test(); // 3秒后输入:获取胜利

2、async 前面能够跟任何函数,await后只有跟promise函数,期待才无效。否则有效

(1)await后跟promise对象

    var b=1;
    function time(){
        return new Promise((resolve,reject) => {
            setTimeout(function(){
                resolve(2) 
            },1000)
        })   
    }
    async function a(){
         b =b +  await time();
        console.log('b',b)
    }
    a()
    console.log('外',b)

后果:

(2)await后是非promise对象

    var b=1;
    function time(){
        setTimeout(function(){
            b++;
        },1000) 
    }
    async function a(){
        await time();
        console.log('b',b)
    }
    a()
    console.log('外',b)
    setTimeout(() => {
        console.log('外2',b)
    }, 2000);

后果:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理