MATLAB中unzip出错,node.js里unzip出错的处理
手头这个脚本原来是这么写的
fs.createReadStream(file_path)
.pipe(unzip.Extract({ path: wow_path + '/Interface/addons' }))
.on("close", function(){
console.log(name + " 解压完毕");
if (cb) {
cb();
}
})
这样写的问题是,如果zip文件有错,整个脚本就会非正常退出
(error是invalid signature)
所以我加了一个error事件处理
fs.createReadStream(file_path)
.pipe(unzip.Extract({ path: wow_path + '/Interface/addons' }))
.on("close", function(){
console.log(name + " 解压完毕");
if (cb) {
cb();
}
})
.on("error", (e) => {
console.log(`${name} 解压出错:${e.message}`)
if (cb) {
cb(e);
}
});
这样写的问题是,同一个压缩包实际上不会只出一个错,我这个zip就会触发三次error事件
于是cb函数就被触发了三次
而且也不能把error事件里的cb去掉,因为我发现如果发生了错误,close消息会一直无法返回
如此一来,外面的大循环又会一直卡主
当然,我加了个flag,检查一下cb第几次返回,也能让cb只返回一次
这样一来整个程序的执行顺序倒是没问题了
但是整个脚本执行完之后不会退出,如此看来,前面的unzip过程实际上还是没有结束
这里到底应该怎么写呢
MATLAB中unzip出错,node.js里unzip出错的处理相关推荐
- 柏林纪行(中):Node.js Collaboration Summit
传送门: 柏林纪行(上):整体感受 柏林纪行(中):Node.js Collaboration Summit 柏林纪行(下):JSConf EU Node.js Collaboration Summi ...
- WebContainers简介:在浏览器中原生运行Node.js(译文)
本篇文章来自StackBlitzblog-埃里克·西蒙斯 2021 年 5 月 20 日 嗨!我们是StackBlitz,一个专门为网络开发量身定制的在线IDE.在本周的谷歌I/O主题演讲中,你可能会 ...
- excel表格导入matlab并画等高线,#如何将excel表格中大量数据导入matlab中并作图#excel表格里的自由画笔...
怎样在已经制好的excel图表中插入新的数据制图 1,在excel里面你直接选中数据然击插入图表就可以啦~ 2要是想实时更新数据源可以尝试下用BDP版,只需要导入一次数据,选择并保存你想要的模板就可以 ...
- centos7中安装部署node.js
下载node.js [root@ecs-c13b ~]# wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz --20 ...
- 克里金插值(Kriging)在MATLAB中的实现(克里金工具箱)
一,直接献上克里金插值MATLAB工具箱 链接:https://pan.baidu.com/s/1p0lt2G8KQ-els7Dyw5jPFg 提取码:wcss 下载后将该程序添加到MATLAB安装文 ...
- matlab中符号函数sgn,编程里的函数符号都是什么意思?
满意答案 qudong1116 2013.08.24 采纳率:59% 等级:12 已帮助:7005人 编程里的函数符号有的是相通的 sin cos tan sqrt exp log log10 ...
- node.js里的天龙八部
express -e 项目名称 创建项目 cd 项目名称 进入项目 npm install 安装package.json中的指定的项目模块 npm install mysql --save 表示安装m ...
- 【nodejs】如何从Windows中完全删除node.js
1.输入cmd命令:npm cache clean --force (如果还没开始删除的话) 2.从"控制面板"的"卸载程序"界面中卸载node程序. 3.重新 ...
- Node.js里Cannot find moudle(针对第三方模块)
问题:Cannot find module(windows环境) 原因:环境变量里找不到模块对应路径 解决方案:在环境变量里加入模块文件夹的路径 变量名:NODE_PATH 变量值:C:\Users\ ...
最新文章
- 解决tomcat控制台乱码问题
- 99%的人都不知道的品牌冷知识
- boost::weak_from_raw相关的测试程序
- C语言/C++基础知识
- Linux vi/vim基础知识
- 【codevs1116】四色问题
- 2017 4月20日下午
- MATLAB实现的Reed-Muller(RM码,里德-马勒编码)编码解码纠错以及BER分析
- 【重磅综述】记忆系统:神经科学的启示「AI核心算法」
- Apache Pegasus 首次 Meetup 圆满落幕
- 【贪玩巴斯】数字信号处理Digital Signal Processing(DSP)——第三节「离散时间 系统 详解」2021-09-29
- AspectJ AOP的使用(@Before、@PointCut、@Around等)
- cello2.0安装及相关背景
- 小傻蛋的妹妹跟随小甲鱼学习Python的第十三节013
- UPS不间断电源不工作如何确定是否损坏
- Nacos—苹果Mac电脑os系统安装nacos步骤
- opencv (十七)图像透视变换
- 剑三千岛湖服务器是不是维护了,剑网3千岛秘辛成就怎么做 探知千岛湖不为人知的秘密...
- Oracle 19.3 Grid Infrastructure 软件安装详细教程
- 华泰交易钩子之dll 2021-02-25
热门文章
- 【已解决】R语言,在线升级
- Android生存指南:解Bug策略和思路
- matlab 工业相机 曝光时间_机器视觉入门——光源相机镜头
- python可以给excel编程吗_python – 我可以通过编程方式将matplotlib图形插入Excel吗?...
- prim算法_贪心算法详解(附例题)
- 用html编辑csdn的方法
- html编写程序常用的,html编写简洁页面表单验证程序.doc
- 人工智能实现a*算法解决八数码_小白带你学回溯算法
- WebRTC / Jitsi / 架构
- 猫、交换机和路由器的区别