他のアプリケーションが定期的にアクセスしているCSVファイルを、Electron側でも読み書きしたいと思っています。
コードは以下です。
(以下のコードを0.4秒おきにループしています。その必要があるため。)
実行してしばらくたつと以下のエラーウィンドウが表示され、処理がストップします。
(try catch で EBUSY をキャッチしているはずなのですが...)
エラーメッセージウィンドウが出ないようにし、処理が止まらないようにしたいです。
どうすればいいでしょうか?
よろしくお願い致します。
JavaScript
1 try { 2 fs.accessSync(filePath) 3 let stream = fs.createReadStream(filePath, 'utf8') 4 let reader = readline.createInterface({ input: stream }) 5 reader.on('line', async (data) => { 6 // CSVファイルのテキストデータを順に表示 7 console.log(data) 8 }).on('close', async () => { 9 if (test) { 10 // testがtrueの場合にCSVファイルへ書き込む 11 fs.appendFileSync(filePath, '\n' + item, 'utf-8') 12 } 13 }) 14 } catch (error) { 15 if (error.code === 'EBUSY') { 16 console.log('エラーが発生しました => EBUSY') 17 } 18 } finally { 19 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。