ITPub博客

首页 > 应用开发 > IT综合 > Promise入门详解

Promise入门详解

投稿 IT综合 作者:VX_147I8IO5I13 时间:2020-04-09 17:43:34 0 删除 编辑

异步调用异步

JavaScript的执行环境是单线程。

所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任务,这个任务执行完后才能执行下一个,它会「阻塞」其他任务。这个任务可称为主线程。

异步模式可以一起执行多个任务。

常见的异步模式有以下几种:

定时器

接口调用

事件函数

今天这篇文章,我们重点讲一下接口调用。接口调用里,重点讲一下Promise。

接口调用的方式

js中常见的接口调用方式,有以下几种:

原生ajax基于jQuery的ajax Fetch Promise axios多次异步调用的依赖分析

多次异步调用的结果,顺序可能不同步。

异步调用的结果如果存在依赖,则需要嵌套。

在ES5中,当进行多层嵌套回调时,会导致代码层次过多,很难进行维护和二次开发;而且会导致回调地狱的问题。ES6中的Promise就可以解决这两个问题。

Promise概述Promise的介绍和优点

ES6中的Promise是异步编程的一种方案。从语法上讲,Promise是一个对象,它可以获取异步操作的消息。

Promise对象,可以将异步操作以同步的流程表达出来。使用Promise主要有以下好处:

可以很好地解决回调地狱的问题(避免了层层嵌套的回调函数)。

语法非常简洁。Promise对象提供了简洁的API,使得控制异步操作更加容易。

回调地狱的举例

假设买菜、做饭、洗碗都是异步的。

但真实的场景中,实际的操作流程是:买菜成功之后,才能开始做饭。做饭成功后,才能开始洗碗。这里面就涉及到了多层嵌套调用,也就是回调地狱。

Promise的基本用法

(1)使用new实例化一个Promise对象,Promise的构造函数中传递一个参数。这个参数是一个函数,该函数用于处理异步任务。

(2)并且传入两个参数:resolve和reject,分别表示异步执行成功后的回调函数和异步执行失败后的回调函数;

(3)通过promise.then()处理返回结果。这里的p指的是Promise实例。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69969661/viewspace-2685280/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 浏览器兼容性
请登录后发表评论 登录
全部评论
承接各种APP软件开发:147-1810-5113微电.

注册时间:2020-04-01

  • 博文量
    12
  • 访问量
    8042