async
- async 关键字 写在函数的前面 叫 async 函数
- 作用: 用于解决异步程序产生的 bug.
- async 函数只要执行就会返回 promise 实例对象
async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为,而无需刻意地链式调用promise。
- async 本身是一个语法糖
- 语法糖:带有一定功能的关键字
- 功能:创建并返回一个 promise 实例
- 语法
async function name([param[, param[, ... param]]]) {
statements
}
name:函数名称;param:要传递给函数的参数的名称; statements:包含函数主体的表达式。可以使用await机制。
返回值:会通过一个由async函数返回的值如通过 promise.then-callback 形参获取
awiat
- 什么是 async await
async/await 是写异步代码的新方式,以前的方法有回调函数和 promise
async/await 是基于 promise 实现的,他不能用于普通的函数
async/await 与 promise 一样,是非阻塞的
async/await 使得异步代码看起来像同步代码 - await 关键字只能用在 aync 定义的函数内。async 函数会隐士地返回一个 promise,该 promise 的 reosolve 值就是函数 return 的值。
- async/await的目的为了简化使用基于promise的API时所需的语法。async/await的行为就好像搭配使用了生成器和promise。
promise
参考0420es6中promise.md
promise async和await之间的联系
- 函数的前面多了一个aynce关键字。await关键字只能用在async定义的函数内。async函数会隐士地返回一个promise,该promise的reosolve值就是函数return的值。
同步程序异步写法
- 同步写法…实际上异步程序
- 等 await 执行结束 执行下一个 await
- ------> 解决异步问题导致问题程序运行 bug