0

私の関数では、これらの指示に従って、新しく作成されたファイルを開き、データを書き込みたいと考えています。これが私のコードです:

function writeDataToFile(newFile) {
    try {
        console.log("[Matin] writeDataToFile started...");
        if(newFile != null) {
            newFile.openStream('a', onOpenStream, function(error) {
                console.log("[Matin] Could not create the file.");
                console(error);
            }, "UTF-8");

            function onOpenStream(fs) {
                console.log("[Matin] New file is opened.");
                fs.write("Hello ---------- Data Goes Here ----------");
                fs.write(JSON.stringify(dataToFile));
                console.log("[Matin] this is the data to be written>>>\n" + JSON.stringify(dataToFile));
                fs.close();
                dataToFile = null;
                newFile = null;
                console.log("[Matin] Data is written into the file, and temporal variables are set to null.");
            };
        } else {
            console.log("[Matin] no file here to write into!...");
        }
        console.log("[Matin] writeDataToFile ended!!!");
    } catch (exception) {
        console.log("[Matin] [Exception] " + exception.message);
    }
}

これは、関数の実行から取得したログです。すべてがうまく見えます:

js/managers/exportManager.js (295) :[Matin] writeDataToFile started...
js/managers/exportManager.js (314) :[Matin] writeDataToFile ended!!!
js/managers/exportManager.js (303) :[Matin] New file is opened.
js/managers/exportManager.js (305) :[Matin] this is the data to be written>>>
[{"steps":null,"heartrate":null,"accelX":"-0.9709117078781128","accelY":"3.4513116836547852","accelZ":"8.347122440338135",...]
js/managers/exportManager.js (309) :[Matin] Data is written into the file, and temporal variables are set to null.

しかし、問題は、ファイルを見ると、何も書き込まれていないことです! ファイルにはデータがありません。行さえありませんHello ---------- Data Goes Here ----------。考えられる理由は何ですか?ありがとう。


更新
機能は完全に正常に機能し、ファイルは正しく保存されます。ただし、ファイルを読み取るには、時計を再起動する必要があります。そうしないと、空のファイルが表示されます。

4

1 に答える 1