在Javascript (PhoneGap)中使用循环向文件写入10行失败

Failed to write 10 lines to a file using loop in Javascript (PhoneGap)

本文关键字:文件 失败 10行 循环 Javascript PhoneGap      更新时间:2023-09-26

我试图使用循环在使用PhoneGap的文件中附加多行来编写至少10行文件,但是每次我运行下面的代码时,只能将1行添加到文件中作为换行符。但是10行不是在10次迭代中打印出来的。请建议我如何使用phoneGap javascript来纠正我的问题。

function gotFileWriter(writer) {
                    for (var z = 0; z<= 10; z++) {
                        console.log("normal write success");
                        writer.onwrite = function(evt) {
                            console.log("write success");
                        };

                        writer.onwriteend = function(evt) {
                            console.log("write end");
                        }
                        writer.seek(writer.length);
                        writer.write("id,updated,created,fname,lname,company,tags,type,label,value,source,sourceid'r'n");
                        writer.abort();    // I tried even commenting
                    }
}

你试过吗?

function gotFileWriter(writer) {
    console.log("normal write success");
    writer.onwrite = function(evt) {
        console.log("write success");
    };

    writer.onwriteend = function(evt) {
        console.log("write end");
    }

    for (var z = 0; z< 10; z++) {
        writer.seek(writer.length);
        writer.write("id,updated,created,fname,lname,company,tags,type,label,value,source,sourceid'r'n");
        writer.abort();    // I tried even commenting
    }
}

我成功了

创建一个大字符串:

function gotFileWriter(writer)
{
  var bigString = '';
  for (var i=0; i<numberOfLines; i++)
  {
    bigString += line[i];
    bigString += ''r'n';
  }
...

然后对文件进行大量写操作:

...
  writer.onwrite = function (evt) { ... };
  writer.onwriteend = function (evt) { ... };
  writer.seek(writer.length);
  writer.write (bigString);
}

您可以使用这个来将文本追加到文件中,而不是循环

function gotFileWriter(writer) {
    writer.seek(writer.length);
    writer.write(" - append- 'n");
}