关于es6:ayncawait

5次阅读

共计 668 个字符,预计需要花费 2 分钟才能阅读完成。

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);

后果:

正文完
 0