什么是promise?

  1. Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
  2. 从语法上说,promise 是一个对象,从它可以获取异步操作的的最终状态(成功或失败)。
  3. Promise是一个构造函数,对外提供统一的 API,自己身上有all、reject、resolve等方法,原型上有then、catch等方法。

Promise的两个特点

  1. Promise对象的状态不受外界影响

    pending 初始状态fulfilled 成功状态rejected 失败状态
    

Promise 有以上三种状态,只有异步操作的结果可以决定当前是哪一种状态,其他任何操作都无法改变这个状态

  1. Promise的状态一旦改变,就不会再变,任何时候都可以得到这个结果,状态不可以逆,只能由 pending变成fulfilled或者由pending变成rejected

使用new来创建一个promise对象。

Promise接受一个「函数」作为参数,该函数的两个参数分别是resolve和reject。这两个函数就是就是「回调函数」

resolve函数的作用:在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;

reject函数的作用:在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

const promise = new Promise((resolve, reject) => {// do something here ...if (success) {resolve(value); // fulfilled} else {reject(error); // rejected}
});

什么是promise?相关推荐

  1. setTimeout、setInterval、promise、async/await的顺序详解(多种情况,非常详细~)

    本文很长,列举的情况很多. 在阅读本文之前,如果您有充足的时间,请新建一个项目与本文一同实践. 每段代码都有对应的解释,但是自己动手尝试印象才会更深哦~ setInterval:表示多久执行一次,需要 ...

  2. C++多线程:异步操作std::async和std::promise

    文章目录 std::async 简介 使用案例 std::promise 简介 成员函数 总结 之前的文章中提到了C++多线程中的异步操作机制 C++ 多线程:future 异步访问类(线程之间安全便 ...

  3. ES6中的Promise详解

    Promise 在 JavaScript 中很早就有各种的开源实现,ES6 将其纳入了官方标准,提供了原生 api 支持,使用更加便捷. 定义 Promise 是一个对象,它用来标识 JavaScri ...

  4. 关于ES6中Promise的应用-顺序合并Promise,并将返回结果以数组的形式输出

    1.Promise 基础知识梳理 创建一个Promise实例 const promise = new Promise(function(resolve, reject) {if (success){r ...

  5. promise实现多个请求并行串行执行

    早上查资料,偶然发现这个话题,发现自己并不会,于是乎,下来研究了一下. 想想之前我们用jquery写请求的时候,要实现请求的串行执行,我们可能是这么做的. $.ajax({url: '',data: ...

  6. 异步编程之Promise(2):探究原理

    异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...

  7. 自己动手写cpu pdf_自己动手写 Promise

    这段时间在学习Promise,但始终不得要领.为了更好地理解Promise,我决定自己实现一个简易版的Promise,以学习Promise工作原理.该工程名为ToyPromise,仓库地址如下: ht ...

  8. promise 和 async await区别

     什么是Async/Await? async/await是写异步代码的新方式,以前的方法有回调函数和Promise. async/await是基于Promise实现的,它不能用于普通的回调函数. as ...

  9. Promise - js异步控制神器

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 首先给来一个简单的demo看看Promise是怎么使用的: <!DOCTYPE html> ...

  10. Promise的实例用法

    设定函数 function chiFan() {return new Promise(function(resolve, reject) {console.log("chiFan" ...

最新文章

  1. 中兴f477v2超级管理员_中兴F650光猫修复
  2. 递归--练习8--noi1788Pell数列
  3. (Java集合框架)List接口
  4. PHP-代码审计-文件包含
  5. Java实现心跳机制
  6. Google Logos
  7. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数
  8. java请求报错(原因:CORS 头缺少 ‘Access-Control-Allow-Origin‘)
  9. python 中的metaclass和baseclasses
  10. JavaScript:变量提升作用域
  11. git安装 tor_【git安装教程 windows】怎么装git window_git安装配置教程
  12. python文本分析工具_可以用来分析文本数据的Python工具的完整指南
  13. 软考中级,软件设计师考试那些内容,考试大纲什么的?
  14. JAVA实现QQ登录、注册等功能
  15. matlab信道编码程序,信道编码作业matlab.doc
  16. dx12 龙书第五章学习笔记 -- 渲染流水线
  17. 50.纯 CSS 创作一个永动的牛顿摆
  18. Numpy创建正态分布和均匀分布
  19. 对计算机辅助英语教学的建议,CALL引入我国后英语教师面临困难及建议.doc
  20. 2023高频经典前端面试题(es6+webpack+http网络+性能优化中篇,含答案)

热门文章

  1. FAT12文件系统基本格式
  2. laravel数据迁移
  3. php 匹配中文和标点符号,php正则匹配标点符号
  4. 伟森盛业:法大大电子合同助力供应链数字创新
  5. C++面向对象程序设计——简单的商品销售题
  6. 黑马程序员最新Python教程——第一阶段(1)
  7. C#实现笔记本摄像头调用、拍照 USB摄像头
  8. PowerDesigner破解版下载及安装教程
  9. 日本显示屏公司的尴尬:夏普被收购 JDI也岌岌可危
  10. ★关于人类体质弱化的分析