Es7-------async和await

1、async和await

async用于申明一个function是异步的
await可以认为是async wait的简写,等待一个异步方法执行完成。
规则:

  • asyncawait是配对使用的,await存在于async的内部。否则会报错
  • await表示在这里等待一个promise返回,再接下来执行
  • await后面跟着的应该是一个promise对象
  1. 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>

  1. await
  • await 后面跟的是promise,如果不是会把它封装成promise
<script>
		async function test() {
    
    
			let data1 = await "数据";
			let data2 = await Promise.resolve("数据");
			console.log(data1); //数据
			console.log(data2); //数据
		}
        test()
</script>

猜你喜欢

转载自blog.csdn.net/ZLJ_999/article/details/124134796
今日推荐