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)

结果:
image.png
(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);

结果:
image.png


错空隐没
16 声望0 粉丝

引用和评论

0 条评论