async 是一个修饰符,被它定义的函数会默认的 返回 一个 Promise 的 resolve的值。
因此对 async 函数可以直接进行 then 操作,返回的值即为 then() 方法的传入函数。
await 同 async 一样,作为修饰符,但是它只能放在 async 内部使用。
它是 获取 Promise 中返回的内容, 即这个 Promise 函数中 resolve 或者 reject 的值。
所以,async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。
如下例:
比如说,这样一个场景:等待三个数据结果都返回,计算它们的和
async表示异步的意思,如果前面加上 async =false 就表示同步的方式运行,当程序读到这句话的要等到它运行完毕之后才执行下面的程序。而如果是 async =true 就表示异步的方式运行,不用等到当前语句返回结果就会继续下面的语句。这样运行更流畅,不会出现停顿的现象。
function async () {}setTimeout(function(){ async()}, 1000) 上面就是异步调用一个函数。 js里的异步函数有很多, 除了setTimeout和setInterval 还有bind以及很多事件绑定和监听都属于异步操作。