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>