news 2026/6/15 21:27:53

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/6/15 12:03:07

重构音乐体验:lxmusic音源项目的技术创新与个性化配置

重构音乐体验:lxmusic音源项目的技术创新与个性化配置 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 在数字音乐版权日益严格的时代,音乐爱好者面临着平台分散、会员费用高…

作者头像 李华
网站建设 2026/6/15 11:24:41

你还在手动部署Agent?用Docker实现云原生批量自动化只需这5步

第一章:Shell脚本的基本语法和命令Shell脚本是Linux/Unix系统中自动化任务的核心工具,它通过解释执行一系列命令实现复杂操作。编写Shell脚本时,通常以“shebang”开头,用于指定解释器路径。脚本的起始声明 #!/bin/bash # 该行告诉…

作者头像 李华
网站建设 2026/6/15 12:15:53

必读!超实用摩擦焊机方案大推荐

《摩擦焊机哪家好:排名前五专业深度测评》开篇:定下基调在工业制造领域,摩擦焊机的性能优劣直接影响着产品的质量和生产效率。为了帮助对摩擦焊机感兴趣的人群挑选到合适的产品,我们开展了本次专业测评。本次参与测评的【参与产品…

作者头像 李华
网站建设 2026/6/15 12:27:39

揭秘VSCode中Azure QDK API文档:如何快速上手量子编程?

第一章:揭秘VSCode中Azure QDK API文档的核心价值Azure Quantum Development Kit(QDK)与 Visual Studio Code 的深度集成,极大提升了量子编程的开发效率。其核心之一便是内嵌于 VSCode 的 API 文档系统,为开发者提供实…

作者头像 李华
网站建设 2026/6/15 1:27:37

15、深入理解与配置 Cyrus SASL 认证系统

深入理解与配置 Cyrus SASL 认证系统 1. SASL 概述 SASL(Simple Authentication and Security Layer)定义了客户端与服务器间需交换的数据,但未规定通信方式,而是交由具体通信协议处理,这使得它能被 SMTP、IMAP、LDAP 等多种服务使用。它在 RFC 2554 中被引入,用于描述…

作者头像 李华
网站建设 2026/6/15 12:13:43

赋能治理现代化:道本-DeepSeek合同智能平台助力国资企业筑牢合规经营与风险防控数字屏障

在全面推进数字化转型、加快建设世界一流企业的战略背景下,国有企业、中央企业(以下简称“国资企业”)的合同管理正面临从“规范性保障”向“战略性赋能”的深刻转变。合同作为企业经营活动的核心载体与法律承诺,其管理质效直接关…

作者头像 李华