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);
后果: