JavaScript返回数据
JavaScript return data
为了从PhoneGap
中的文件读取数据,我制作了一个简单的类,在其中我访问文件,如下代码
var ReaderForFile =
{
dataFromFile:null,
start_ReadFile:function()
{
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, ReaderForFile.got_FileSystemReader, ReaderForFile.fail);
},
got_FileSystemReader:function(fileSystem)
{
fileSystem.root.getFile("SHA_ErrorLog.txt", null, ReaderForFile.got_FileEntry, ReaderForFile.fail);
},
got_FileEntry:function(fileEntry)
{
fileEntry.file(ReaderForFile.got_File, ReaderForFile.fail);
},
got_File:function(file)
{
ReaderForFile.read_AsText(file);
},
read_AsText:function(file)
{
var reader = new FileReader();
reader.onloadend = function(evt) {
ReaderForFile.dataFromFile = evt.target.result+"}]}";
};
reader.readAsText(file);
},
fail:function()
{
console.log(evt.target.error.code);
},
getData:function()
{
ReaderForFile.start_ReadFile();
return ReaderForFile.dataFromFile;
}
}
然后我调用类似的函数
var data = ReaderForFile.getData();
但在这个数据中,它总是返回null
,因为它在所有函数执行之前返回,我应该在这里做什么,当read_AsText
完全执行并且数据存储在dataFromFile
变量中时返回
这里最好的方法是使用回调函数。由于您的函数是异步执行的,因此每次都会写入null。
JavaScript 中回调函数教程
相关文章:
- JSON数组数据返回Undefined
- AngularJS中的页面之间共享数据返回空
- post()向服务器动态生成的数据返回空响应
- 如何从jQuery对象文本正确调用服务器端ASP.NET并将数据返回给jQuery
- d3从mysql数据库导入数据返回“0”;未定义”;
- JSON可以't访问数据返回未定义
- 让 ajax 数据返回到调用函数 - 需要澄清之前的答案
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- Jquery ajax 请求无法将数据返回给其他函数
- 在 jquery 中将数据返回给 ajax 调用
- Meteor.methods:从内部回调将数据返回给客户端
- 将PHP数据返回到我当前的网页,供Javascript访问
- ajax 调用如何将数据返回给变量
- 将数据返回到索引.js节点表达式
- j查询帖子数据返回比较不起作用
- 节点 API 未将数据返回给客户端 ajax 请求
- jQuery 函数在 AJAX 数据返回上不起作用
- AJAX 将数据返回给 jquery
- 中继:获取递归数据返回空值
- 根据chrome.storage中的数据返回chrome.webRequest.onBeforeRequest的值