欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

promise 是个啥?

程序员文章站 2022-07-14 12:44:42
...


废话不多说,啥是promise 呢,Promise是一个构造函数其实就是一个构造函数。



 Promise是一种异步流程的控制手段,是用一种同步的代码风格去编写异步代码
1.回调地狱,代码难以维护 第一个的输出是第二个的输入promise链式调用
2.promise可以支持多个并发的请求,获取并发请求中的数据
3.这个promise可以解决异步的问题,本身不能说promise是异步的

promise包含 resolve 成功 reject 失败 pending 等待态
如果一旦promise成功了就不能失败,相反也是一样的

代码实例:

var promise = new Promise(function(resolve,reject){ 

 // ... some code

 if(/* 异步操作成功 */){ resolve(value); }

else{ reject(error); } });

Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolvereject。它们是两个函数,又JavaScript引擎提供,不是自己部署。

resolve函数的作用,将Promise对象的状态从“未完成”变成“成功”(即从Pending变为Resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
reject函数的作用是,在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

Promise实例生成以后,可以用then方法分别制定Resolved状态和Rejected状态的回调函数:

promise.then(function(value){
  // sucess
},function(error){
  // failure
});12345复制代码

then方法可以接受2个回调函数作为参数,第二个函数是可选的,不一定要提供。这两个函数都接受Promise对象传出的值作为参数。


总结:promise 的出现比较好的处理了回调地狱的情况,让我们可以按一种同步的代码风格去写异步代码,将耗时操作放在promise中进行逻辑处理。 resolve 。reject 分别处理 成功和失败。 最后可以写一个 catch 兜底。

前不久刚换了城市,面试找工作。其实很早之前就想写点技术型博文一直都没动手。

第一次写肯定有不足之处,后续再慢慢完善优化。随便写点记录最近的学习情况吧。




上一篇: Mybatis是啥?

下一篇: 啥是闭包