promise 是什么?有哪些状态和参数?如何使用?

Promise 是异步编程的一种解决方案:
1、主要用于异步计算
2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
3、可以在对象之间传递和操作 promise,帮助我们处理队列
resolve 作用是,将 Promise 对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
reject 作用是,将 Promise 对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
promise 有三个状态:
1、pending[待定]初始状态
2、fulfilled[实现]操作成功
3、rejected[被否决]操作失败

当 promise 状态发生改变,就会触发 then()里的响应函数处理后续步骤; 。
Promise 对象的状态改变,只有两promise 状态一经改变,不会再变种可能: 从 pending 变为 fulfilled
从 pending 变为 rejected。
这两种情况只要发生,状态就凝固了,不会再变了。

promise 是什么?有哪些状态和参数?如何使用?相关推荐

  1. ES6---new Promise()讲解(尤其注意里面的参数resolve、reject)

    ES6-new Promise()讲解(尤其注意里面的参数resolve.reject) 直接打印出来看看吧,console.dir(Promise). 这么一看就明白了,Promise是一个构造函数 ...

  2. matlab 生成信号文件,生成的代码如何存储内部信号、状态和参数数据

    浏览模型示例 打开模型示例 rtwdemo_roll. open_system('rtwdemo_roll') 该模型包含不连接到根级别 Inport 或 Outport 模块的内部信号.某些信号具有 ...

  3. 项目管理系统、工作台、经营看板、质量管理、合同管理、合同审核、新建合同、分包商管理、立项审批、创建项目、项目模板、项目统计、计划管理、结项申请、审批流程、审批记录、审批状态、参数设置、axure原型

    项目管理系统.工作台.经营看板.质量管理.合同管理.合同审核.新建合同.分包商管理.立项审批.创建项目.项目模板.项目统计.计划管理.结项申请.审批流程.审批记录.审批状态.参数设置.axure原型 ...

  4. mysql状态常用参数分析

    2019独角兽企业重金招聘Python工程师标准>>> #innodb status Innodb_buffer_pool_pages_total:innodb缓冲池页的数量.大小等 ...

  5. 【ESN-PSO】基于PSO的回波状态网络参数分析,用于时间序列预测(Matlab代码实现)

  6. Promise/async awit/fetch 学习笔记

    Promise 一.Promise 1.then()方法 2.catch()方法 3.finally()方法(实际开发中并不常用) 4.Promise.resolve()和Promise.reject ...

  7. promise的状态值_什么是Promise,Promise的三种状态

    什么是Promise对象: Js中进行异步编程的新的解决方案,用于表示一个异步操作的最终完成 (或失败), 及其结果值.. 语法上:promise是一个构造函数 简单来说,promise对象用来封装一 ...

  8. JS 中关于Promise的用法,状态,执行顺序详解,面试可用(原创)

    前言 在实际项目中我们常会去用已经封装好的promise如axios,或者也会自己去封装promise,甚至在面试中,关于promise的面试题也层出不穷,promise的重要性不言而喻,故写该文章记 ...

  9. ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map

    根据视频进行整理 [https://www.bilibili.com/video/BV1uK411H7on?p=1] 视频资源(百度网盘): 链接:[https://pan.baidu.com/s/1 ...

最新文章

  1. 数据洪流时代的芯片之变
  2. Android实例剖析笔记(四)
  3. ajax跨域请求原理,Ajax跨域请求的原理(图文教程)
  4. SSD算法 模板 匹配
  5. Sqlserver2014怎样配置远程连接
  6. css 剪辑图片_CSS中的clip-path裁剪图片用法
  7. path manipulation怎么解决_干货!终于!解决macOS下pyenv安装python3.8.2缺少tkinter模块的问题!...
  8. android网络转圈,android基于dialog加载时转圈圈很好的demo
  9. [Kaggle] Digit Recognizer 手写数字识别(卷积神经网络)
  10. 如何快速成为数据分析师
  11. 电脑声卡维修经验和实例完全分析
  12. 计算机垃圾桶桌面,电脑桌面比垃圾桶还乱?一分钟轻松快速整理你的电脑桌面...
  13. PHP的implode函数运用,PHP implode()函数用法讲解
  14. Ubuntu 18.04 LTS上编译安装BCC
  15. turtle画了一个皮卡丘
  16. 软件工程——四则运算3(C#)
  17. 解决java虚拟机内存不足的错误 java.lang.OutOfMemoryError: PermGen space 没有文件TOMCAT_HOME/bin/catalina.sh
  18. 常用的mysql存储引擎及其特点
  19. Linux用户标识符UID与GID和用户账号
  20. Vue2中样式详解(scoped)

热门文章

  1. 图像马赛克原理及实现
  2. tensorflow综合示例3:对结构化数据进行分类:csv keras feature_column
  3. 使用github pages创建博客
  4. opencv读取图片、视频、摄像头
  5. Breeze库API总结(Spark线性代数库)(转载)
  6. javaweb学习总结(八):HttpServletResponse对象(二)
  7. JVM 参数使用总结
  8. Tomcat源码解析五:Tomcat请求处理过程
  9. TeamCity : 自动触发 Build
  10. 【百度地图API】自行获取区域经纬度的工具