ES8(2017)标准引入了async函数,使得异步操作变得更加方便。
async作为一个关键字放到函数前面,用于表示函数是一个异步函数。
因为async就是异步的意思,也就表示 该函数的执行不会阻塞后面代码的执行
下面是一个async函数:
async function() timeout(){ return ‘hello world‘; }
//语法就是在函数前面加上async关键字来表示它是异步的。
例1:async的执行不会阻塞它后面的代码
1 async function timeout () { 2 return ‘hello world‘ 3 } 4 5 timeout(); 6 console.log(‘虽然我在后面,但是我先执行了‘) 7 8 //输出结果:
虽然第五行调用了timeout(),但是没有任何输出。接下来我们将timeout()改成 console.log(timeout())
例2:
1 async function timeout () { 2 return ‘hello world‘ 3 } 4 5 console.log(timeout()); 6 console.log(‘虽然在后面,但是我先执行了‘)
7 //输出结果:
第五行打印出来可以看出async函数返回的是一个promise对象,如果要获取到promise返回值,我们应该用then方法。
例3:
原文:https://www.cnblogs.com/meiyanstar/p/14776746.html