怎么理解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)

相关推荐

  • 送老师鲜花禁忌,老师生病了,我该送什么呢

    技术送老师鲜花禁忌,老师生病了,我该送什么呢考虑到老师的身体还没有完全恢复,胃口也不好,送营养品不是很实用,出院的时候还增加行李负担。不妨看望他的时候送一些鲜花,鲜花可以调节他的心情,心情好了,身体也能够快速恢复。但是老

    生活 2021年10月25日
  • 怎么通过Java代码来理解RPC

    技术怎么通过Java代码来理解RPC本篇内容主要讲解“怎么通过Java代码来理解RPC”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么通过Java代码来理解RPC”吧!这整

    攻略 2021年11月15日
  • php发验证码

    技术php发验证码 php发验证码php实现发送验证码功能的方法:1、创建好HTML和js文件;2、创建“Msm.php”文件,内容为“public function sendmsm(){...}”;3

    礼包 2021年10月28日
  • php.ini状态设置在哪里(php.ini怎么配置)

    技术php.ini如何禁用方法这篇文章将为大家详细讲解有关php.ini如何禁用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 php.ini禁用方法:

    攻略 2021年12月19日
  • 4.运算符和流程控制

    技术4.运算符和流程控制 4.运算符和流程控制运算符
    在 PHP 中,赋值运算符 = 用于给变量赋值。
    在 PHP 中,算术运算符 + 用于把值加在一起
    1.算数运算符运算符
    名称
    描述
    实例
    结果x

    礼包 2021年12月23日
  • 手机进水后触屏失灵,手机进水触屏不管用了怎么办

    技术手机进水后触屏失灵,手机进水触屏不管用了怎么办手机进水触摸屏坏了手机进水后触屏失灵,如果还在保修期内,毫无疑问到商家的售后网点去维修,如果已过保修期,那么最好也要找到相对专业的维修机构进行维修,最好不要拿到路边摊或者

    生活 2021年10月27日