Promise--介绍

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise--介绍相关的知识,希望对你有一定的参考价值。

1. Promise的介绍


1.1 什么是Promise

抽象表达:

  • Promise是一门新的技术(ES6引入)
  • Promise是JS中进行异步编程的新解决方案
    • 备注: 旧方案是单纯使用回调函数

具体表达:

  • 从语法上面来说:Promise是一个构造函数
  • 从功能上面说: Promise对象是用来封装一个异步操作并可以获取其成功/失败的结果值。

1.2 什么是同步和异步

  • 同步是阻塞模式,异步是非阻塞模式。
  • 同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会—直等待下去,知道收到返回信息才继续执行下去;
  • 异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回式系统会通知进程进行处理,这样可以提高执行的效率。

1.3 常见的异步操作

  • fs文件操作(fs是Node.js下面对文件进行操作的一个模块)
  • 数据库操作
  • Ajax
  • 定时器

1.4 为什么要使用Promise

指的回调函数的方式更加灵活

  1. 旧的:必须在启动异步任务前指定
  2. promise:启动异步任务 => 返回promise对象 => 给promise对象绑定回调函数。

支持链式调用,可以解决回调地狱问题

  • 回调地狱:回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件

典型的回调地狱的情形:一个回调函数里面套着另外一个异步任务,无限套娃。
在这里插入图片描述

回调地狱的缺点

  • 不便于阅读
  • 不便于异常处理

回调地狱的解决方法

Promise链式调用



以上是关于Promise--介绍的主要内容,如果未能解决你的问题,请参考以下文章

promise介绍

介绍Promise构造函数的几种方法

C++11promise和future介绍

C++11promise和future介绍

C++11promise和future介绍

Promise和模块块化编程