Cordova の FileWriter API と FileReader API を調べていて、それらが非同期であることを理解しています。
また、こちらの完全な例に従うだけで、FileWriter と FileReader を別々に動作させることができました。
しかし、ファイルに書き込んだ直後にファイルを読み取る方法があるかどうか疑問に思っていました。以下のコードは、私がやりたいことを示していますgotFileWriter
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.onwriteend = function(evt) {
// Read the file after writing
};
writer.write("some sample text");
}
function fail(error) {
console.log(error.code);
}
ドキュメントの完全な例の FileReader には、file
何かを読み取るためのオブジェクトが必要です (gotFileWriter
メソッドには参照がありません)。ただし、ファイルを読み取るための非同期プロセスのほとんどは、ファイルの書き込みと似ています。
書き込み後にファイルを読みたい場合window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
、onwriteend
関数内で を呼び出して、非同期プロセス全体を再度開始する必要がありますか? gotFileEntry
を呼び出す別のメソッドとともにfileEntry.file()
? または、これらの手順を繰り返さずfile
にメソッド内からオブジェクトを取得する方法はありますか?gotFileWriter
誰もそれを行う最速の方法を知っていますか?