【发布时间】:2016-06-03 22:11:34
【问题描述】:
我有一个用 Cordova 编写的移动应用程序。它将一些数据保存到本地存储中,并在下次启动时尝试读取它。
我从这里得到了代码:
https://www.neontribe.co.uk/cordova-file-plugin-examples/
function readFromFile(fileName, cb, cbErr) {
var pathToFile = cordova.file.dataDirectory + fileName;
window.resolveLocalFileSystemURL(pathToFile, function (fileEntry) {
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
cb(JSON.parse(this.result));
};
reader.readAsText(file);
}, cbErr("oops"));
}, cbErr("darn"));
}
var cbError = function(){}
var fileData;
readFromFile('somefile.txt', function (data) {
fileData = data;
},cbError );
这一切都在我的 onDeviceReady 函数中。
问题是,当 somefile.txt 存在时,成功回调 (cb) 和错误回调 (cbError) 都会被执行。首先 cbError 然后 cb AND cb 返回我期望的数据。
两个回调都是从 fileEntry.file() 触发的
有人猜到发生了什么吗?
【问题讨论】:
标签: javascript cordova