node.js 文件流写入错误 “write after end”
本帖最后由 ing 于 2020-7-11 20:46 编辑不知道for...代码块的内容哪有问题,在注释掉后程序只有缺 css的 提示并无报错
但解开注释后,访问一样的页面却出现了异常??
源码地址:https://quqi.avyeld.com/s/2177545/h4MnKDRz7L01SbJt 文件下载按钮在网盘左上角
____________________________________________________________________________________________
将报错的for语句块修改如下后解决
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;
}
} 代码是异步的,你可以换成 fs.statSync 或改成 promise jixun66 发表于 2020-7-10 01:57
代码是异步的,你可以换成 fs.statSync 或改成 promise
为什么这里不可以使用异步?同步确实解决了我的疑问 ing 发表于 2020-7-10 09:43
为什么这里不可以使用异步?同步确实解决了我的疑问
因为后面的先执行了,写了 404,然后发现文件存在,开始写 200 信息
页:
[1]