js 必须掌握的知识点 异步 promise async await

js 异步模式

  • 只要涉及到底层接口操作, js 会自动转入协程处理(类似于多线程),这就是异步处理的本源.

  • 普通的js代码是不会自动进入异步模式***, 又因为js 是单线程*,如果出现耗时操作,程序就会阻塞很久,导致后续代码无法执行;

  • 如果不想等待,这时就需要采用异步协程模式 ,就是引入 Promise对象 (类似于java和py 中的thread );

本质就是实例化一个多线程或协程对象 来处理耗时的程序,前提是这段程序对后续代码没有影响

js 异步要点

参考 https://segmentfault.com/a/1190000016788484
这篇文章已经写的非常直白了,推荐一定要先看

  1. 实例化Promise对象 封装 需要异步的行为(协程处理)
    new Promise((fsuccess,ferr)=>{
    fsuccess(返回结果)
    ferr(处理异常)
    });

  2. 异步对象 Promise 如何输出结果和异常
    通过 then(结果) 输出结果,
    通过catch(err) 输出异常

  3. await 强制等待 Promise 对象 结束并返回 ,实现异步转同步

  4. async 声明的函数 其实是返回一个 Promise对象

  5. async /await 是好一对基友,不可以分开 ,主要 为Promise对象服务

  6. 可以在async 内部使用 try catch 拦截错误,但是很繁琐

  7. async/await 不是代替 Promise,而是补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值