吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3050|回复: 3
收起左侧

[已解决] node.js 文件流写入错误 “write after end”

 关闭 [复制链接]
ing 发表于 2020-7-9 23:26
本帖最后由 ing 于 2020-7-11 20:46 编辑

不知道  for...  代码块的内容哪有问题,在注释掉后程序只有缺 css的 提示并无报错
捕获3.PNG

但解开注释后,访问一样的页面却出现了异常??
捕获5.PNG

源码地址:https://quqi.avyeld.com/s/2177545/h4MnKDRz7L01SbJt 文件下载按钮在网盘左上角

____________________________________________________________________________________________
将报错的for语句块修改如下后解决
[Asm] 纯文本查看 复制代码
for (let path of defaultFilePath) {
                                exist = fs.existsSync(path);        //使用同步,异步报错
                                if(exist) { //如果当前默认页面文件存在,则响应到Http,不再去判断其他的页面文件
                                              resp.writeHead(200);
                                              fs.createReadStream(path).pipe(resp);        //当前文件内容输出到HTTP响应,漏写则无法加载出页面
                                              console.log('200'+reqUrl);  
                                              break;
                                }
 }

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

爱飞的猫 发表于 2020-7-10 01:57
代码是异步的,你可以换成 fs.statSync 或改成 promise
 楼主| ing 发表于 2020-7-10 09:43
jixun66 发表于 2020-7-10 01:57
代码是异步的,你可以换成 fs.statSync 或改成 promise

为什么这里不可以使用异步?同步确实解决了我的疑问

点评

因为后面的先执行了,写了 404,然后发现文件存在,开始写 200 信息  详情 回复 发表于 2020-7-10 23:06
爱飞的猫 发表于 2020-7-10 23:06
ing 发表于 2020-7-10 09:43
为什么这里不可以使用异步?同步确实解决了我的疑问

因为后面的先执行了,写了 404,然后发现文件存在,开始写 200 信息
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 19:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表