1、async和await
async用于申明一个function是异步的
await可以认为是async wait的简写,等待一个异步方法执行完成。
规则:
async和await是配对使用的,await存在于async的内部。否则会报错await表示在这里等待一个promise返回,再接下来执行await后面跟着的应该是一个promise对象
async
async的函数,当返回的不是promise对象,会把它封装成promise对象返回- 如果返回的是
promise对象,就会返回这个promise对象
<script>
async function test1(){
return 1
}
console.log(test1()); /*[[Prototype]]: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: 1 */
async function test2(){
return Promise.resolve(2)
}
console.log(test2()); /* [[Prototype]]: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: 2 */
</script>
await
- await 后面跟的是promise,如果不是会把它封装成promise
<script>
async function test() {
let data1 = await "数据";
let data2 = await Promise.resolve("数据");
console.log(data1); //数据
console.log(data2); //数据
}
test()
</script>