| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> JavaScript中的Promise -> 正文阅读 |
|
[JavaScript知识库]JavaScript中的Promise |
Promise是异步编程的一种解决方案,是一个对象,可以获取异步操作的消息,大大改善了异步编程的困难,避免了回调地狱,比传统的解决方案回调函数和事件更合理和更强大。 从语法上讲,Promise是一个对象,它可以获取异步操作的消息。提供了一个统一的API,各种异步操作都可以用同样的方法进行处理 1、Promise的实例有三个状态: (1)Pending(进行中) (2)Resolved(已完成) (3)Rejected (已拒绝) 2、Promise的实例有两个过程 (1)pending > fulfiled :Resolved (2)pending > rejected :Rejected 注意:一旦从进销项状态变为其他状态就永远不能更改状态了 Promise的基本用法:1、创建Promise对象 Promise 对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败) Promise构造函数接收一个函数作为参数,该函数的两个参数分别是 resolve 和 reject 2、Promise 方法 Promise有五个常用方法: (1)then() then 方法可以接收两个回调函数作为参数,第一个回调函数是Promise对象的状态改变为 resoved 是调用,第二个回调函数是?Promise 对象的状态变为 rejected 时调用。其中第二个参数可以省略。
(2)catch() 该方法相当于 then 方法的第二个参数,指向 reject 的回调函数。 另一个作用是,在执行resolve回调函数时,如果出错,抛出异常,不会停止陨星,而是进入catch 方法中。
(3)all() all 方法可以完成并进行任务,它接收的是一个数组,数组的每一项都是 Promise 对象。当数组中所有的?Promise 状态都达到 resolved 的时候,all 方法的状态就会变成 resolved,如果有一个状态变成了 rejected。那么all 方法的状态就会变成rejected。
(4)rece() rece 方法和 all 一样,接收的参数是一个每项都是 Promise 的数组,但是与 all 不同的是,当最先执行完的事件执行完之后,就直接返回该 promise 对象的值 rece的实际作用:当要做一件事,超过长时间就不做了,可以用这个方法来解决。
(5)finally() finally 方法用于指定不管 Promise 对象最后状态如何,都会执行的操作。(该方法是ES2018中引入标准的)
finally 方法的回调函数不接受任何参数,这意味着没有办法知道前面的 Promise 状态到底是 fulfilled 还是 rejected?
在上面代码中,如果不写 finally 方法,同样的语句需要为成功和失败两种情况各写一次。有了 finally 方法只需写一次即可 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:19:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |