Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当管道连接到散列时,Node.js ReadStream卡在Electron上_Javascript_Node.js_Vue.js_Electron - Fatal编程技术网

Javascript 当管道连接到散列时,Node.js ReadStream卡在Electron上

Javascript 当管道连接到散列时,Node.js ReadStream卡在Electron上,javascript,node.js,vue.js,electron,Javascript,Node.js,Vue.js,Electron,我正在用和创建这个应用程序,我遇到了一个奇怪的问题,具体到electron,一旦应用程序启动,创建的第一个ReadStream将不会将其内容传输到给定的流 现在,通过CTRL+F5刷新应用程序将使流再次工作,从此不再有任何问题 我当前的代码类似于,并且在应用程序启动后在渲染线程上调用: 公共异步运行(){ 等待这个.scanFolder(“/some/path/to/a/folder”); } 专用异步扫描文件夹(路径:字符串){ const entries=readdirSync(路径,{wi

我正在用和创建这个应用程序,我遇到了一个奇怪的问题,具体到electron,一旦应用程序启动,创建的第一个
ReadStream
将不会将其内容传输到给定的流

现在,通过
CTRL+F5
刷新应用程序将使流再次工作,从此不再有任何问题

我当前的代码类似于,并且在应用程序启动后在渲染线程上调用:

公共异步运行(){
等待这个.scanFolder(“/some/path/to/a/folder”);
}
专用异步扫描文件夹(路径:字符串){
const entries=readdirSync(路径,{withFileTypes:true});
for(条目的常量输入){
如果(!entry.isDirectory()){
const md5=await calculateMD5(路径+“/”+entry.name);
}
}
}
公共静态异步CalculateFile5(路径:字符串){
const md5=createHash(“md5”);
md5.设置编码(“十六进制”);
console.log(“创建承诺”);
持续承诺=新承诺((解决、拒绝)=>{
const fileStream=createReadStream(路径{
自动关闭:是的,
真的吗
});
fileStream.on(“打开”),()=>console.log(“流打开”);
on(“ready”,()=>console.log(“streamready”);
fileStream.on(“关闭”,()=>{
控制台日志(“流关闭”);
解析(md5.read());
});
on(“数据”,data=>{
控制台日志(数据);
});
fileStream.on(“结束”,()=>{
控制台日志(“流结束”);
解析(md5.read());
});
fileStream.on(“错误”,错误=>{
控制台错误(error);
拒绝(错误);
});
控制台日志(“管道至MD5”);
pipe(md5,{end:true});
resume();
log(“暂停了吗?:”+fileStream.isPaused());
});
控制台日志(“返回承诺”);
回报承诺;
}
使用
npm run-electron:service启动应用程序并调用
run
函数将输出以下内容:

Creating promise
Piping to MD5
Is paused?: false
Returning promise
STREAM OPEN
STREAM READY
现在,如果应用程序通过
CRTL+F5
重新加载,则流将其内容正确地通过管道传输到散列

有什么我可以做,使它不需要刷新一旦应用程序启动流正常工作