news 2026/2/21 6:19:03

promise应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
promise应用

Promise介绍

  • 什么是Promise

    • 是一个类

    • 当通过new创建Promise实例,需要传入一个回调函数,我们称之为executor

      • 这个回调函数会被立即执行,并传入两个回调函数的参数(resolve, reject)

      • 当调用resolve回调函数时, 会执行Promise对象的then方法传入的回调

      • 当调用reject回调函数时, 会执行Promise对象的catch方法传入的回调

    • Promise是一个状态机,分为3种状态

      • pending: 待定状态,执行了executor后,处于该状态

      • fulfilled: 兑现状态,调用resolve()后, Promise的状态更改为fullfilled, 且无法再次更改

      • rejected: 拒绝状态,调用reject()后,Promise的状态更改为rejected,且无法再次更改

  • resolve 的参数

    • 如果传入的是普通的值或者对象,则会传递到then的参数中

    • 如果传入的是一个Promise, 那么当前的Promise状态会由传入的Promise决定

const newPromise = new Promise((resolve, reject) => { resolve('success') }) new Promise((resolve, reject) => { // 当前Promise的状态由传入的Promise决定 resolve(newPromise) }).then(res => { console.log('res', res) }).catch(err => { console.log('err', err) })
  • 如果传入的是一个对象,并且该对象实现了then方法(thenable), 也会执行该then方法,并且由该then方法决定后续的状态

new Promise((resolve, reject) => { // 如果 resolve 传入的是对象,且该对象实现了then方法 // 则该 Promise 的状态由then方法决定 resolve({ then(resolve, reject) { reject('error') } }) }).then(res => { console.log('res', res) }).catch(err => { conso
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/17 20:21:36

量子算法开发全攻略(VSCode配置与示例代码大公开)

第一章:量子算法的 VSCode 示例代码在现代量子计算开发中,Visual Studio Code(VSCode)已成为主流集成开发环境之一。借助 Quantum Development Kit(QDK)扩展,开发者可在本地高效编写、模拟和调试…

作者头像 李华
网站建设 2026/2/17 4:55:30

如何快速掌握分子可视化:VMD-Python的完整入门指南

如何快速掌握分子可视化:VMD-Python的完整入门指南 【免费下载链接】vmd-python Installable VMD as a python module 项目地址: https://gitcode.com/gh_mirrors/vm/vmd-python 在分子模拟和生物信息学领域,Visual Molecular Dynamics (VMD) 一直…

作者头像 李华
网站建设 2026/2/14 16:14:51

KolodaView开源项目完整贡献指南:从入门到核心开发者

KolodaView开源项目完整贡献指南:从入门到核心开发者 【免费下载链接】Koloda KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. 项目地址: https://gitcode.com/gh_mirrors/ko/Koloda 想要参与iOS开源项目开发…

作者头像 李华
网站建设 2026/2/17 15:00:20

VSCode遇上量子芯片:你不可错过的8个硬件兼容性检测要点

第一章:VSCode 量子硬件的适配测试在探索量子计算与现代开发工具融合的过程中,VSCode 作为主流代码编辑器,其对量子硬件模拟环境的适配能力成为关键环节。通过集成特定插件与SDK,开发者可在本地构建接近真实量子设备的调试环境。环…

作者头像 李华
网站建设 2026/2/20 14:05:13

27、垃圾邮件过滤与病毒防护:SpamAssassin 与 ClamAV 全解析

垃圾邮件过滤与病毒防护:SpamAssassin 与 ClamAV 全解析 1. SpamAssassin 简介 SpamAssassin 是一款强大的垃圾邮件过滤工具,它将贝叶斯数据库存储在用户主目录下的 .spamassassin 目录中的三个文件里,文件格式通常为 Berkeley DB 格式,具体文件如下: - bayes_journ…

作者头像 李华
网站建设 2026/2/21 0:21:47

告别复杂命令:5步打造你的专属版本控制系统

还在为Git命令行繁琐的操作而头疼吗?libgit2这个开源神器让你轻松构建自定义版本控制工具。作为纯C实现的Git核心库,它提供了超过175种API调用,让你能够在应用中直接嵌入Git功能,告别传统命令行工具的局限。😊 【免费下…

作者头像 李华