async是一个表示异步的关键字,将它放在一个函数的前面表示这个函数是一个异步函数。异步函数的意思是该函数的执行不会阻塞后面代码的执行。
async function timeout() {
return 'hello world';
}
async函数也是正常的函数,调用的时候正常在后面加括号直接调用。
但需要注意的是,async函数总是返回一个promise,如果代码中有return <非promise>语句,js会自动把返回的value值包装成promise的resolved值。
await也是一个关键字,表示可以让js处于等待状态,直到一个promise执行并返回结果,js才会继续执行下去。
需要注意的是await只能在async函数内部使用。