
二.什么是Promise
pending (挂起) 到 resolved (已完成) 或者 pending (挂起) 到 rejected (已拒绝) 构造 Promise 时,传递一个执行器函数 根据异步操作的结果决定调用 使用
发布日期:2021-05-27 05:11:39
浏览次数:21
分类:精选文章
本文共 1229 字,大约阅读时间需要 4 分钟。
understanding Promise
Promise 是 JavaScript 用于异步编程的全新解决方案。它提供了一种更简便的方式来处理异步操作。从语法上看,Promise 是一个构造函数,可以通过 new Promise
创建实例。从功能上说,Promise 用于封装异步操作,并允许我们获取结果,无论是成功还是失败。
promise 的状态改变
Promise 的状态变化非常简单只能有两种状态:
状态一旦发生改变就不会有任何变化。
成功的结果用value
表示失败的结果用 reason
表示。无论是哪种情况,都会提供一个数据或者原因来告知调用者操作的结果。 promise 的基本流程
领悟 Promise 的关键在于理解它的执行流程。通过图片可以看出,Promise 实现了一个同步的执行器函数,根据执行结果决定最终传递给 resolve
或 reject
的函数。这个机制允许我们方便地进行分类处理。
promise 的基本使用
要使用 Promise ,我们需要通过构造函数创建实例,传递一个执行器函数。执行器函数接收 resolve
和 reject
两个参数,用于通知 Promise 状态改变。例如:
// 语法示例const p = new Promise((resolve, reject) => { // 假设这是一个异步操作 setTimeout(() => { // 假设计算结果为偶数,则表示成功 const time = Date.now(); if (time % 2 === 0) { resolve('成功数据,时间:' + time); } else { reject('失败数据,时间:' + time); } }, 1000);});// 使用 Promise 结果p.then(value => { // 接收成功的回调 console.log('成功的回调,得到数据:', value);}, reason => { // 接收失败的回调 console.log('失败的回调,原因:', reason);});
通过对上述代码的分析可以看出,使用 Promise 的关键点在于:
resolve
或 reject
.then
方法接收最终的结果或错误这种方法使代码简洁明了,也避免了嵌套的回调函数问题。
通过上述讲解,希望大家对 Promise 已有了一个清晰的认识。只要掌握了其基本语法和使用方法,很多异步操作就能更加高效地处理。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年05月11日 03时04分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)
2023-01-24
java操作List
2023-01-24
Java操作Sql语句 出现迭代死循环 (Bug排查)
2023-01-24
#Leetcode# 92. Reverse Linked List II
2023-01-24
java攀枝花市房屋租售信息管理平台的设计与实现(ssm)
2023-01-24
java教学团队管理系统(ssm)
2023-01-24
java教学网站(ssm)
2023-01-24
java教学质量管理平台(ssm)
2023-01-24
@Transactional踩坑实践,你能看的出来么?
2023-01-24
java教师信息采集系统(ssm)
2023-01-24
java教师教学质量评估系统(ssm)
2023-01-24
java教师管理系统(ssm)
2023-01-24
java教师管理系统(ssm)
2023-01-24
java教师管理系统(ssm)
2023-01-24
java教师继续教育(ssm)
2023-01-24
java教师绩效考核过程管理系统(ssm)
2023-01-24
java教师课堂助手app(ssm)
2023-01-24
java教师课程管理与教学辅助系统(ssm)
2023-01-24
java教研室采购管理系统(ssm)
2023-01-24