async/await
ES2017引入了async函数,使异步操作变得更加方便。
1、async函数返回的Promise对象会运行执行(resolve)异步函数的返回结果,或者如果异步函数抛出异常的话会运行拒绝(reject)。
2、async会把返回值传递给Promise.resolve( )。
async function testAsync(){
return "hello async";
}
console.log(testAsync());
testAsync().then((r)=>{
console.log(r);
})
await
await其实只能在async中使用。(或者在模块顶级域中可以使用,例如在浏览器控制台上可以)
如果html在引入js代码时,将type设置为module(模块)则同样可以使用不会报错。
示例
async function testAsync(){
let r= 0 ;
setTimeout(()=>{
r=2000;
},3000);
return