位置: IT常识 - 正文

Promise(promise歌曲)

编辑:rootadmin
Promise Promise是什么?

推荐整理分享Promise(promise歌曲),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:promises,promise的用法,promise歌曲,promises,promise to do,promise的用法,promise怎么读,promise什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

作用:支持链式调用,解决回调地狱问题 抽象表达: Promise是一门新的技术(ES6规范) Promise是JS中进行异步编程的新解决方案,旧方案是使用回调函数 具体表达: 从语法上来说:Promise是一个构造函数 从功能上来说Promise对象用来封装一个异步操作并可以获取成功失败的结果值

属于异步操作

fs文件模块、数据库操作、ajax、定时器

Promise三个状态

pending: 初始状态,既不是成功,也不是失败状态。 fulfilled: 意味着操作成功完成。 rejected: 意味着操作失败。 状态一旦从pending变为成功或失败就不能再改变了

Promise具体操作new Promise创建一个实例//伪代码let p = new Promise((resolve,reject)=>{if(成功) {resolve('ok')} else {reject('err')} })Promise实例有两个保存值的方法:resolve保存成功的值,reject保存失败的值then方法,第一个回调函数value => {}接收resolve保存成功的值,第二个回调函数reason => {}接收错误信息或reject保存的值 p.then(value => { console.log(value) },reason => { console.warn(reason) })Promise(promise歌曲)

平常使用也可省略第二个参数

p.then(value => { console.log(value) })catch方法,失败进入该方法 p.catch(err => { console.log(err) })finally方法,无论成功或失败都可以进入该方法 p.finally(err => { console.log(err) })Promise函数的方法Promise.resolve() 方法 返回一个成功/失败对象Promise.reject() 方法 返回一个失败对象Promise.all()方法

包含n个promise的数组,(promises) =>{} 返回一个新的promises,只有所有成功才成功,只要有一个失败则都失败

let p1 = Promise.resolve('cccc')let p2 = Promise.resolve('cccc2')Promise.all{[p1,p2]}Promise.race方法

包含n个promise的数组 (promises) =>{} 返回一个新的promises,最终结果是第一个promise执行的结果

如何改变Promise状态resolve() peding => fulfilled ( resolved)reject() peding=>rejectedthow '出问题了'一个promise指定多个成功/失败回调函数,都会调用吗?

当promise改变为对应状态时会调用

改变promise状态和指定回调函数谁先谁后都有可能,正常情况下是先指定回调函数再改变状态,但也可以先改变状态再指定回调如何先改状态再指定回调? a.在执行器中直接调用resolve()/reject() b.延迟更长时间才调用then()什么时候才能得到数据 如果先指定的回调,那当状态发生改变时,回调函数就会调用,得到数据 如果先改变状态,那当指定回调时,回调函数就会调用,得到数据promise.then()返回新的promise的结果的状态由什么决定?then()指定的回调函数执行的结果决定排出错误 失败返回结果不是promise对象 成功返回对象是promise对象 是失败/成功promise如何串联多个任务

then 返回一个新的promise

promise异常穿透

catch

中断promise链

返回一个padding状态的promise对象

return new Promise(() => {})手写Promise
本文链接地址:https://www.jiuchutong.com/zhishi/293051.html 转载请保留说明!

上一篇:拉帕努伊国家公园中阿胡汤加里基的摩艾石像,智利复活节岛 (© blickwinkel/Alamy)(拉帕努伊国家公园)

下一篇:windows10下安装和配置nodejs环境(win10系统的安装)

  • 个税手续费怎么交增值税
  • 个税是按照实发工资计算吗
  • 申报美元出口以欧元收汇
  • 企业为什么产生
  • 软件和硬件可以用什么代名词
  • 政府搬迁补偿款记资本公积
  • 农产品增值税抵扣新政策2021
  • 共同控制合营企业
  • 银行汇票转给第三方怎么操作
  • 年末结转本年利润是在结转损益前还是后
  • 抵扣勾选和退税勾选选错了怎么办
  • 税后工资反推税前工资计算方法
  • 房地产企业暂估成本
  • 电子发票缩小多少比例打印
  • 三万以下免税如何开票
  • 小规模跨年发票可以入账吗
  • 资本溢价最后转入哪里
  • 期货手续费会计分录
  • 企业所得税退税怎么做账务处理
  • linux修改分区uuid
  • 公司筹建期间发生的业务招待费,如何税前扣除
  • 辅导费是什么
  • bios里头没有usb功能怎办
  • 上个月做的无票收入,这个月开票怎样做分录
  • 土地增值税可以扣除的税金
  • 增值税专用发票几个点
  • 蟹爪兰的养殖方法和浇水
  • Linux系统怎么配置IP
  • phpstorm怎么用
  • 保险公司经营外汇保险业务
  • 结霜的早晨
  • 寓意幸福和团圆的网名
  • 在Windowsserver2019环境下,配置IP地址使用
  • 基于thinkphp的cms
  • 出口抵扣进项的设备免税依据
  • php时间戳转换成时间
  • 织梦cms怎么样
  • 出口退税率和进项税额
  • 企业所得税月月交吗
  • 怎样在网上领取
  • 简易计税是否可以享受即征即退
  • 应收账款资产负债表负数
  • 公司注销时多缴税怎么办
  • mongodb $nin
  • 如何拉企业纳税申报表
  • SQL2008中通过DBCC OPENTRAN和会话查询事务
  • 建筑劳务公司需要什么资质
  • 会计税法的差异
  • 社会组织志愿者参观泉州华侨历史博物馆
  • 垃圾处理费如何做账
  • 短期借款的账务处理借增贷减
  • 未按期预缴企业社保
  • 影视产业前景
  • 工程物资盘盈为什么冲减在建工程
  • 租金收入分摊政策规定
  • sql server 数据库介绍
  • mysql绿色版配置
  • windows软件授权服务报告无法激活计算机
  • windows8禁用uac
  • win sth
  • 通过修改注册表来修改chrome配置
  • linux系统中cp命令
  • macbook桌面2
  • 苹果mac系统怎么更新
  • Red Hat Enterprise Linux AS release 4 apache+MYsql+PHP的安装和优化
  • win7搜索选项
  • Linux运维工程师工作内容
  • react用什么ui
  • JavaScript中的变量名不区分大小写
  • 基于web的旅游网站毕业设计
  • nodejs vue
  • 使用nodejs连接openai超时
  • unity给物体添加重力
  • jquery怎么写
  • javascript教程
  • 国地税改革意义
  • 马来西亚进口货物的标签要求
  • 税控盘口令密码怎么修改
  • 医疗机构执业许可证办理的条件
  • 甘肃方正税务师事务所王小云
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设