当前位置: 首页 > 知识库问答 >
问题:

node.js - Node.js fs.createWriteStream 就算报错了也还是会生成文件?

阎博易
2023-07-10

当执行 this.write 报错的时候,catch到错误以后还生成了 filename 这个文件,这里能有什么设置可以让出错的时候不生成文件,我现在只有加上 fs.unlink去手动删除。

  writeFile(filename, options) {
    const stream = fs.createWriteStream(filename);

    return new Promise((resolve, reject) => {
      stream.on('finish', () => {
        resolve();
      });
      stream.on('error', error => {
        fs.unlink(filename, err =>{
          reject(err);
        });
        reject(error);
      });

    
      this.write(stream, options)
        .then(() => {
          stream.end();
        })
        .catch(err => {
          stream.emit('error', err);
          // reject(err);
        });
    });
  }

共有1个答案

金承嗣
2023-07-10

没有这样的能力,只能自己手动删,默认flagw
image.png

 类似资料:
  • package.json webpack.dev.js 模板文件是.html时,跑起来报错,把后缀名改成.ejs就好了,为什么?

  • 问题1: 下面是我收到的错误,但我不知道哪里错了。 这是用于生成边缘网络的输入文件: 下面是添加报告上述问题的路由网络的代码部分。我试图绘制一个无方向的路线网络,以确保只有一条边连接两个枢纽。为了避免重复,我使用了一个if条件(if(net.getEdge(source,target)==null))来检查两个集线器之间是否已经存在一条边。如果没有,创建一个新的,如果是,什么也不做。如果我删除这个

  • 后台返回的数据类型是一个字符串数组

  • 找不到init? 那起的函数名有什么用?

  • 问题内容: 我似乎无法获得任何说明如何执行此操作的搜索结果。 我要做的就是能够知道给定的路径是文件还是目录(文件夹)。 问题答案: 应该告诉你。从文档: 从fs.stat()和fs.lstat()返回的对象属于这种类型。 注意: 将 上述溶液 将一个IF; 例如,or或不存在。 如果您想要一个或方法,请尝试按约瑟夫在下面的评论中所述。

  • 我继承了一个Java应用程序,它被配置为在Google app Engine中运行。我的pom包括com.google.appengine.appengine-maven-plugin插件,它可能与这个问题相关,也可能与这个问题无关。 在我的src目录中,在WEB-INF目录中,我有一个“app.yaml”文件。但是当我的项目构建到一个war中时,目标目录同时有一个“app.yaml”文件和一个“