位置: 编程技术 - 正文

javascript下使用Promise封装FileReader(js的prepend)

编辑:rootadmin

推荐整理分享javascript下使用Promise封装FileReader(js的prepend),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js使用promise,javascript prop,js使用promise,javascript prop,js使用promise,js使用promise,javascript prop,js prev(),内容如对您有帮助,希望把文章链接给更多的朋友!

Promise 在处理异步的时候是个很好的选择,可以减少嵌套层次,让代码更好读,逻辑更清晰。ES6 将其加入规范,jQuery 3.0 也修改实现向规范靠拢(3.0 发布公告)。一些新增元素比如 .fetch() 原生就 “thenable”,不过大多数以往的 API 还要依赖回调,这个时候,我们只要将它们重新封装,就能避开嵌套陷阱,享受 Promise 带来的愉悦体验。

Promise 一般用法先来看下 Promise 的一般用法。

Promise 的驱动模型并不复杂:任何操作,假定它只有两个结果,成功或者失败。那么只需要在合适的时间调用合适的程序,进入合适的后续步骤即可。.then() 顾名思义,就是下一步的意思,当前面的 Promise 有了结果——即调用 resolve 或者 reject——之后,就启动对应的处理函数。

Promise 实例创建后就会开始执行,判定结果需要我们自己来,比如加载成功,或者满足某个条件,等等。通过串联 .then() 则可以完成一系列操作。每次调用 .then() 都会创建一个新的 Promise 实例,它会静静等待前面的实例状态改变后再开始执行。

javascript下使用Promise封装FileReader(js的prepend)

封装 FileReader接下来开始封装。思路很简单,FileReader 除了提供各种 read 方法,还有几个事件钩子,其中 onerror 和 onload 很明显可以作为判断任务是否完成的依据。加载成功的话,就需要用到文件内容,所以将文件或文件内容传递到下一步也十分必要。

最后完成的代码如下:

为了能真正派上用场,里面还有一些验证文件类型的操作,不过跟本文主旨无关,略过不表。这段代码的核心是创建一个 Promise 对象,等待 FileReader 读取完成后调用 resolve 方法,或者出现问题时调用 reject 方法。

使用刚才封装好的函数接下来就可以在项目中使用了:

.then() 支持两个参数,第一个在 Promise 成功时启动,第二个自然在失败时启动。用 .catch() 可以实现同样地效果。Promise 的好处除了可读性更佳以外,返回的 Promise 对象还可以任意传递,继续进行链式调用,有很大想象空间。

继续 .then()于是我们不妨串联更多操作(本来想写个断点续传的,回头再说吧):

全选复制放进笔记reader(file)

标签: js的prepend

本文链接地址:https://www.jiuchutong.com/biancheng/380392.html 转载请保留说明!

上一篇:javascript每日必学之循环(javascript例题)

下一篇:js下将金额数字每三位一逗号分隔(js金额加减)

  • 固定资产清理的账务处理
  • 个体户缴纳经营所得个税怎么算的
  • 其他应付款属于哪类
  • 地税补缴社保
  • 端午节福利计入什么科目
  • etc预付发票可以抵税吗
  • 定额发票怎么验证真伪
  • 投资性房地产转固定资产账务处理
  • 股权转让企业所得税纳税地点
  • 物流运输途中损坏怎么办
  • 税控盘全额抵减申报
  • 收购股权怎么做账
  • 没有实收资本是负债吗
  • 公司之间借款如何做账
  • 社会组织捐款
  • 年度所得税汇算清缴表去哪里找
  • 营改增后一般纳税人动产租赁税率
  • 政府减免税款如何做账
  • 公司奖励员工旅游怎么做账
  • 固定资产抵扣的税率
  • 以自有资金进行股权投资
  • 机关党建经费提取比例
  • 员工旅游计入什么费用
  • 什么情况下确认成本
  • 跨年度增值税发票作废怎么退税
  • 入账价值和账面余额一样吗
  • 固定资产要办理什么手续
  • 错误代码:0x0000428
  • 苹果电脑双系统好不好
  • app制作公司开发一个app的价格
  • 计算机指令用来做什么
  • 迪纳利国家公园在哪个国家
  • php设置header参数
  • php 数组
  • 违约赔偿金要交税吗
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 企业在什么情况下可以不交税
  • 进项税额转出如何做分录
  • 企业罚钱合理吗
  • 营业成本包含折旧和摊销吗
  • 使用XQuery查询DB2 XML数据
  • 固定资产清理损益表怎么填
  • 购进固定资产的账务处理
  • 应收账款是指什么
  • 记账凭证粘贴顺序银行回单
  • 没有认证抵扣的发票如何冲红
  • 追加固定资产原值如何计提折旧
  • 客户试用产品期间怎么跟进
  • 现金劳务收入会计分录
  • 集团拨款
  • 顺风车没有发票是否合法
  • 负债清偿损益明细表计税基础怎么填
  • 现金流水账怎么做表格
  • centos7.6无法远程
  • windows中双击硬盘驱动器图标操作的作用
  • win7升级win8.1
  • win10 0×0000007b怎么解决
  • u盘启动pe装机工具怎么用
  • 微软安全信息如何替换
  • windows 10 mobile apk
  • xp开机后蓝屏
  • linux系统ln命令
  • win8对机械硬盘不友好
  • mac验证码无法显示怎么办
  • 注册表 windows
  • win10右键菜单快捷键
  • win10新版磁贴
  • adobe骨骼动画
  • Lesson02_04 表单标签(2)
  • js 运算符
  • unity c#开发
  • js中改变css文件中的样式
  • ActivityManagerService(四)
  • 青海国家税务局官网
  • 通用税务采集软件有哪些
  • 江西省税务局拟录用人员公示
  • 莅临指导和莅临交流的区别
  • 企业所得税涉税申报情况进行核查
  • 公司地税申报
  • 土地面积测量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设