async await

async await 这两个关键字是高版本语法:异步的编程体变得和同步几乎一致
await 是一个函数之中的关键字,要求函数必须是 async 声明的函数。

使用 await关键字,await后面必须是 promise 对象
await 关键字会将await后面所有的代码放进异步队列之中
await就是等待 promise调用then,返回then里面结果
async就是把函数的返回值变成了promise
 
基本语法:
// 普通语法:
        function load(){
            let p1 = fetch("./10_data.php");
            p1.then( function ( res ){
                console.log(res);
            })
        }   
        load();

// async await: 
async function load(){
            let res  = await fetch("./10_data.php");
            let data = await res.json();
            console.log(data);
        }
load();

 

async 函数的返回值:
  async function load(){
            let res  = await fetch("./10_data.php");
            let data = await res.json();
            
            return data;
        }

        // let p = load();
        // // 1. 外面已经没有条件包裹 async 了;
        // p.then( function(res){
        //     console.log(res);
        // } )
        // 2. 如果还有条件包裹 async, 那么依旧可以使用await;

        // async function foo(){
        //     var res = await load();
        //     console.log(res);
        // }
        // foo()

 

我是不是可以忽略掉promise语法那?  不行
如果想要自己想要实现返回promise的封装;还是需要使用 new Promise 进行promise创建
posted @ 2021-05-11 12:35  SeventhMeteor  阅读(55)  评论(0)    收藏  举报