0

0

promise是什么意思

(*-*)浩

(*-*)浩

发布时间:2019-06-11 11:09:40

|

22923人浏览过

|

来源于php中文网

原创

js是单线程的,promise解决就是异步编程一种思想,比传统的回调函数和事件强大好多。promise相当于异步操作结果的占位符,他不会去订阅一个事件,也不会传递一个回调函数给目标函数,而是让函数返回一个promise(相当于订单号)。

promise是什么意思

Promise:英文承诺意思,Promise对象中保存某个未来才回结束的事件(通常是一个异步操作)的结果。

Promise有三个状态:(推荐学习:Javascript视频教程

pendding,rejected,resolved

Promise对象状态的切换只有两种可能:

pendding->rejected,pendding->resolved

基础用法:

new Promise((resolved,rejected)=>{})

Promise对象resolved,rejected函数,在异步事件状态pendding->resolved回调成功时,会调用resolved函数;当异步操作失败时,回调用rejected函数。

Promise的then(resolved,rejected)函数参数有两个,一个resolved函数,一个rejected函数。

Promise的catch():捕捉promise错误函数,和then函数参数中rejected作用一样,处理错误,由于Promise抛出错误具有冒泡性质,能够不断传递,会传到catch中,所以建议所有错误处理放在catch中,then中只处理成功的。

Promise一个大特色就是可以链式调用,在then,catch中可以返回Promise对象。

NetShopForge网上商店程序(VB)源码
NetShopForge网上商店程序(VB)源码

NetShopForge是一款强劲的B2C的网上购物软件,利用她我们能建立起强劲的、自由的、安全的购物平台。 维博软件以有这样的软件无比自豪,系统基于ASP.NET 2.0及SqlServer开发,充分享受新技术带来的乐趣。 软件综合了卖家,买家,程序员,设计者的头脑风暴,目的就是用户能建立风格不同的电子商务系统,使它显得更加与众不同。 如果您寻求一款能按您的思想随意发挥的网上购物软件,那么Net

下载

Promise.all([promise1,promise2]):参数是promise对象数组,等到所有promise对象状态resolved,该对象的状态会resolved,会立即调用then,当有一个promise对象为rejected,该对象的状态就会边城rejectd,执行catch。

Promise.race([promise1,promise2]):竞速函数,当有一个promise对象状态变化了,该对象就会采用和相同的状态,并执行相应函数。

promise的生命周期

 每个 Promise都会经历一个短暂的生命周期,初始为挂起态( pending state),这表示异步操作尚未结束。一个挂起的 Promise 也被认为是未决的( unsettled )。一旦异步操作结束, Promise就会被认为是已决的( settled ),并进入两种可能状态之一:

1. 已完成(fulfilled ): Promise 的异步操作已成功结束;

2. 已拒绝(rejected ): Promise 的异步操作未成功结束,可能是一个错误,或由其他原因导致。

一旦状态改变,就「凝固」了,会一直保持这个状态,不会再发生变化。当状态发生变化,promise.then绑定的函数就会被调用。注意:Promise一旦新建就会「立即执行」,无法取消。这也是它的缺点之一。

更多Javascript相关技术文章,请访问js教程栏目进行学习!

相关专题

更多
PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

3

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

41

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

101

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

148

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

57

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

108

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

45

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号