请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

您好,这一课,新建文件当本地文件夹。点击新建输入文件名字,回车保存文件,然后刷新electron在新建保存就会进入程序会卡死。麻烦您能解读下吗?

正在回答 回答被采纳积分+3

7回答

张轩 2020-07-02 11:30:25

两位同学好 看到了你们新的测试图 我会尝试找一台 windows 机器,看看是否会遇到相同的问题。

0 回复 有任何疑惑可以回复我~
qq_慕勒5016658 2020-07-01 19:15:36


https://img1.sycdn.imooc.com//szimg/5efc703009320e9c06310075.jpg

用这个办法试着确认了一下

1:创建新文件 -> test文件被创建

2:reload -> 创建新文件 -> test文件没有被创建 -> 再次reload -> test文件被创建

实在无从下手了


0 回复 有任何疑惑可以回复我~
qq_慕勒5016658 2020-06-23 16:41:12

如图,fs.writeFile和fs.readFile本身处理是能够执行的,但是刷新页面之后就无法进入then里执行里面的处理了

https://img1.sycdn.imooc.com//szimg/5ef1bf750956a02609770561.jpg

0 回复 有任何疑惑可以回复我~
  • 是的,我的也是这样,您这边有解决方法嘛?
    回复 有任何疑惑可以回复我~ 2020-06-28 10:07:03
  • 用非异步处理的fs.writeFileSync和fs.readFileSync代替fs的异步处理可以暂时解决问题
    只是改成非同步处理之后不知道会不会跟后面课程内容冲突
    回复 有任何疑惑可以回复我~ 2020-07-01 18:06:27
张轩 2020-06-21 09:36:43

两位同学 我使用 https://pan.baidu.com/s/1H16ug7Fx2IykWirCq8NstA 给的例子做了测试,没有出现这个问题,新建文件能成功的出现。后续操作并没有卡死。以下是截图。

//img1.sycdn.imooc.com//szimg/5eeeb94309742a2628581128.jpg

本地还测试了以下 fs.writeFile 方法也没发现有什么问题。

请问两位的操作系统是什么?node 版本是什么? 我在想是不是有可能是操作系统或者 node 版本造成的?你们还可以写一个最简单的例子,一个 html 页面里面就写一个 fs.writeFile 看看会不会出现这个问题。

0 回复 有任何疑惑可以回复我~
  • 操作系统:win10 2004
    node版本: 12.16.1 -> 尝试使用12.5.0和最新的14.4.0问题依旧
    electron版本: 6.14.4
    我再试试其他方法
    回复 有任何疑惑可以回复我~ 2020-06-22 12:03:17
  • 可以试一下最简单的 一个 html 页面里面就写一个 fs.writeFile 看看会不会出现这个问题
    回复 有任何疑惑可以回复我~ 2020-06-22 12:29:54
  • 用老师的办法刷新之后还是不会走then里面的处理,但是程序不会假死
    程序假死应该是then()里面的files和本地持久数据更新没有执行导致的
    回复 有任何疑惑可以回复我~ 2020-06-22 16:03:51
qq_慕勒5016658 2020-06-16 21:03:54

我也遇到了一样的问题,发现是fs.writeFile异步处理出了bug

用writeFileSync同步处理可以暂时解决,坐等老师解答

0 回复 有任何疑惑可以回复我~
提问者 qq_何必假装坚强_03289497 2020-06-15 17:55:58

111

0 回复 有任何疑惑可以回复我~
张轩 2020-06-12 10:32:06

同学你好 我在本地没有复现这个问题,你可以打开控制台看看有没有什么错误。如果可以,提供一下你的代码的 git 地址,我可以 clone 下来帮你看看哈。

0 回复 有任何疑惑可以回复我~
  • 您好,报错日志中没有任何报错,但是我看断点已经进入
    
      writeFile: (path, content) => {
    
        return fs.writeFile(path, content, { encoding: 'utf8'})
    
      }
    
    这个函数了,document目录文件也创建出来了,但是
    
    app.js
    
     fileHelper.writeFile(newPath,files[id].body).then(()=>{
    
                  setfiles(newFiles)
    
                  saveFilesToStore(newFiles)
    
                  console.log("修改页面")
    
                })
    
    promis  then没有触发electron,electron内存不停的在涨,这个时候electron已经卡死了无法在进行任何操作包括刷新
    
    您好,git没有放到线上去,我放到了百度云盘https://pan.baidu.com/s/1H16ug7Fx2IykWirCq8NstA      提取码:m8tr 麻烦您了。
    回复 有任何疑惑可以回复我~ 2020-06-15 18:11:14
  • 麻烦,老师您能帮忙看看
    回复 有任何疑惑可以回复我~ 2020-06-17 17:18:31
  • 好的 同学们 抱歉回答的有点晚  我今天明天尝试解决 给你们解决 然后给你们答复
    回复 有任何疑惑可以回复我~ 2020-06-20 20:40:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信