怎么理解ES6 Promise对象

技术怎么理解ES6 Promise对象这篇文章主要讲解了“怎么理解ES6 Promise对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解ES6 Promise对

本文主要讲解“如何理解ES6承诺对象”,简单明了,易学易懂。请跟随边肖的思路,一起学习学习《如何理解ES6承诺对象》。

概述

这是异步编程的解决方案。

从语法上来说,Promise是一个对象,您可以从中获得异步操作的消息。

Promise 状态

状态的特点

Promise的异步操作有三种状态:待定、完成和拒绝。除了异步操作的结果,没有其他操作可以改变这种状态。

承诺对象只有状态从待定变为已履行和从待定变为已拒绝。只要实现了,拒绝了,状态就永远不会变,也就是解决了。

constp1=newPromise(函数(解析,拒绝){ 0

解析(“成功1”);

解析(“成功2”);

});

constp2=newPromise(函数(解析,拒绝){ 0

解析(“成功3”);

拒绝(“拒绝”);

});

p1.then(函数(值){ 0

console.log(值);//成功1

});

p2 .然后(函数(值){ 0

console.log(值);//成功3

});状态的缺点

不能取消承诺,一经创建立即执行,不能中途取消。

如果没有设置回调函数,Promise内部抛出的错误不会反映到外部。

当它处于挂起状态时,不可能知道它正在前进到哪个阶段(刚刚开始或即将完成)。

then 方法

然后方法接收两个函数作为参数,第一个参数是Promise执行成功时的回调,第二个参数是Promise执行不成功时的回调。将只调用这两个函数中的一个。

then 方法的特点

在JavaScript事件队列的当前操作完成之前,永远不会调用回调函数。

constp=newPromise(函数(解析,拒绝){ 0

决心(“成功”);

});

p.then(函数(值)}

console.log(值);

});

console . log(' first ');

//第一

//成功回调函数以。然后将随时被调用。

多次通话。然后,您可以添加多个回调函数,这些函数将按照插入的顺序独立运行。

constp=newPromise(函数(解析,拒绝){ 0

决心(1);

}).然后(函数(值){//第一个然后//1。

console.log(值);

return value * 2;

}).然后(函数(值){//第二个然后//2。

console.log(值);

}).然后(函数(值){//第三个然后//未定义。

console.log(值);

return Promise . resolve(' resolve ');

}).然后(函数(值){//第四个然后//解析。

console.log(值);

return Promise . reject(' reject ');

}).然后(函数(值){//第五个然后//reject:reject。

console.log('resolve: '值);

},函数(err){ 0

console . log(' reject : ' err);

});然后方法将为链调用返回一个处于已解析或已拒绝状态的Promise对象,Promise对象的值就是返回值。

then 方法注意点

Promise的简单链式编程最好保持扁平化,不要嵌套Promise。

始终返回或终止承诺链。

constp1=newPromise(函数(解析,拒绝){ 0

决心(1);

}).然后(函数(结果){ 0

p2(结果)。然后(new result=P3(new result));

}).然后(()=P4());当创建一个新的Promise但忘记返回它时,相应的链被断开,导致p4与p2和p3同时进行。

在大多数浏览器中,建议遵循。无法终止的承诺链中拒绝后的捕获(错误=console.log(错误))。

感谢您的阅读。以上是“如何理解ES6承诺对象”的内容。看完这篇文章,相信你对如何理解ES6 Promise Object有了更深的理解。具体用法需要实践验证。在这里,边肖将为大家推送更多相关知识点的文章。欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/65488.html

(0)

相关推荐

  • win7上MySQL5.6如何安装与测试

    技术win7上MySQL5.6如何安装与测试这篇文章主要为大家展示了“win7上MySQL5.6如何安装与测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“win7上MySQ

    攻略 2021年12月4日
  • 选择经济实惠的美国服务器如何影响业务增长

    技术选择经济实惠的美国服务器如何影响业务增长对于跨境企业来说,公司网站所体现出的在线形象对您来说非常重要。很多出于成本考虑租用共享服务器的企业可能并没有意识到他们的服务器被数百甚至数千个其他网站共同适用使用。实际上,无论

    礼包 2021年12月24日
  • Java方法

    技术Java方法 Java方法Java 方法
    什么是方法
    方法是什么System.out.println()是什么System是一个类,out是一个对象,println是方法方法是语句的集合,一起执行一

    礼包 2021年10月26日
  • Qdox工具怎么用

    技术Qdox工具怎么用这篇文章给大家介绍Qdox工具怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。QDox 一款简单,高效的Java源代码解析器,可以提取Java类、接口、方法、参数名称、类型

    攻略 2021年10月20日
  • 圣诞节送女朋友什么礼物好,圣诞节送女朋友什么礼物好

    技术圣诞节送女朋友什么礼物好,圣诞节送女朋友什么礼物好很多朋友可能会觉得送一些时尚、劲爆的礼物会比较好,但其实流行因素在每个人心中的定位都是不一样的,小编认为,送最适宜对方的礼物就是最好的礼物。▲ 如何包装礼物,礼物包装

    生活 2021年10月24日
  • CSS+JS怎么实现爱心点赞按钮

    技术CSS+JS怎么实现爱心点赞按钮本篇内容主要讲解“CSS+JS怎么实现爱心点赞按钮”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS+JS怎么实现爱心点赞按钮”吧!To

    攻略 2021年11月20日