位置: 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系统的安装)

  • 适用增值税零税率的有
  • 应付账款里的暂估
  • 公积金贷款金额少怎么办
  • 嵌入式软件产品的批准放行
  • 个体户餐饮经营范围全部怎么写
  • 资产处置损益需要转营业外支出吗
  • 建筑企业异地预交税款如何处理
  • 企业跨年补开发票
  • 房屋预售交款怎么交
  • 专票未认证是什么意思
  • 分支机构如何领购发票
  • 发票抬头不完整能用吗
  • 企业停产或停业期间的费用包括
  • 应付债券的利息调整怎么计算
  • 停工损失会计科目
  • 金税三期里有员工无工资如何申报?
  • 设计服务发票怎么入账
  • 零售超豪华小汽车交消费税吗
  • 税法相关问题
  • 赠送视同销售是按照售价还是成本缴纳增值税
  • 一张抵扣发票能分多次抵扣不
  • 银行代发工资一定要本行卡吗
  • 向境外企业支付服务费代扣代缴什么税
  • BIOS识别不了硬盘pe可以
  • 事业单位政府预算
  • 外企借款投资利息高吗
  • 图片注入php
  • wordpress文章编辑
  • 欧罗巴山国家公园旅游攻略
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 怎么启用framework3.5
  • php静态属性和静态方法
  • 小规模纳税人每月申报什么税
  • 冰岛羊 (© John Porter LRPS/Alamy)
  • 个人出租车辆交税吗
  • thinkphp3.0
  • 为什么税前利润加可抵扣暂时性差异
  • 收到转账怎么写分录
  • html/css/javascript
  • ussd命令
  • python数学建模资料
  • 什么是付出对价的公允
  • 管家婆中已经过账的进货单怎么删除?
  • php7安装mysqli扩展
  • 中级会计职称与中级会计师的区别
  • 扣交社保会计分录
  • 承兑到期没兑现怎么办
  • 结汇的汇率差异怎么算
  • 中小企业收款
  • 小规模企业房产税减按50%
  • 为什么对子公司控股比例降到49%
  • 总账建账要遵循的原则
  • sqlserver批处理
  • 卡巴斯基 试用
  • macbook appstore在哪
  • centos 安装教程
  • linux中locate命令的作用
  • U盘安装centos 7出现unknown chipset
  • win2008怎么查看隐藏文件
  • win8图标大小怎么调
  • unity2019新功能
  • easyui下拉列表
  • jquery插件怎么写
  • css查找元素
  • nodejs oom
  • Python类的继承动物类
  • 多态和封装的区别
  • vue devtools功能
  • angular js表达式
  • jQuery EasyUI之DataGrid使用实例详解
  • JavaScript中的数据类型分哪为两大类?
  • jQuery 3.0 的 setter和getter 模式详解
  • android 简历模板
  • js使用类
  • 重庆市委常委是副部级干部吗?
  • 云南省个人所得税税率
  • 如何查询车辆购置税完税证明
  • 处级工作调动用什么手续
  • 土地增值税旧房转让计算方法
  • 哈尔滨银行网上银行怎么开通
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设