• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
余苏益
博客园    首页    新随笔    联系   管理    订阅  订阅

11.30

异步

1. async也是处理异步的,它是对Promise的一种扩展,让异步更加方便;

2.优势:async是基于Promise的,虽然是异步操作,但看上去像同步;

3.首先,我们先来看下async的基本语法:

例

//创建一个async函数,执行异步操作
//await 关键字:等待异步执行完毕后回调;
let as = async () =>{
let result = await p;
console.log(result);};
//执行async函数
as();
//上面语法,用ES5过渡一下,帮助理解,具体如下:
async function as() {}
let as = async function() {}
let obj = {async as(){}};//也支持对象形式
 
4.如果有三个异步需要列队输出,我们用async语法来处理一下;
例
多个异步,按输出顺序加载,没有then,清晰很多
async function as() {
    let r1 = await pi,
    r2 = await p2,
    r3 = await p3;
    consoLe.log(r1);
    console.log(r2);
    console.log(r3);
    }
    as();
pS: await关键字只能在 async函数内部,否则不可识别;
PS:从上面的例子中,能感受到语义和清晰度都得到了很大提升,更像同步代码:
    //批量异步列队,类似 Promise.all()
    async function as() {
        let all = [ await p1,await p2,await p3];
        console.log(al1);
    }
        as();
posted on 2021-12-03 16:33  余苏益  阅读(55)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3