Promise及其应用

一、Promise的概念

1.语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或者失败的结果

2.Promise表示一个异步操作的最终状态,改善了传统代码的回调难维护,控制反转的问题。

二、异步编程与Promise的关系

1.通常来说,程序都是顺序执行的,同一时刻只会发生一件事。如果一个函数依赖于另一个函数的结果,它只能等待那个函数结束才能继续执行,从用户的角度来说,整个程序才算运行完毕。异步编程是可以让程序并行运行的一种手段,其可以让程序中的一个工作单元与主应用程序线程分开独立运行,并且在工作单元运行结束后,会通知主应用程序线程它的运行结果或者失败原因。使用异步编程可以提高应用程序的性能和响应能力等。

2.setTimeout和Promise函数的区别在于,setTimeout函数是一种基于回调函数的机制,例如:

通过一个定时器,在1000ms后再触发的。

但是Promise函数是一种基于状态的机制,是通过返回一个对象,来表示异步操作的状态顺序。

 3.Promise具有更多的功能和优势。比如Promise可以处理异步操作的异常情况,而setTimeout需要在回调函数中手动处理异常。Promise还可以通过.catch()方法捕获异常,并返回一个新的Promise对象来表示异常的处理结果。此外,Promise还可以实现异步操作的取消、超时控制等功能。

 三、Promise的作用与用法

1.promise的作用就是解决异步回调的问题

2.在Promise函数里resolve表示函数以成功方式完成,reject表示函数以失败的方式完成,在resolve函数执行完成后可以执行.then()的方法

3.Promise的方法

如果Promise函数调用resolve在异步函数.then()方法中就会打印一个value值

如果在数据读取发生了错误,就会调用reject函数,Promise对象状态就会变成一个失败,失败以后就会调用then()方法中的第二个回调函数

4..catch()方法,用于处理Promise函数的失败结果。

四、async/await的作用与用法

1.async是“异步”的简写, async 用于申明一个异步的 function

2.await 可以认为是 async wait 的简写,await 用于等待一个异步方法执行完成。

3.async/await是基于Promise实现的,async函数返回一个Promise对象,await可以等待一Promise对象的执行结果,如果该Promise对象是resolved状态,则返回其resolve的结果;如果该Promise对象是rejected状态,则抛出其reject的原因。

4.async函数配合await使用阻塞代码往下执行是异步方法,await语句必须在async函数中使用,使用async/await的代码看起来像是同步代码,但实际上是异步执行的。

5.应用场景

模拟出一个摇色子的异步操作,先通过一个方法三秒之后拿到一个筛子数,第二步进行输出

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值