我在很长一段时间内处理这个问题,请给我一个解决方案:
对于Android应用开发,我使用的是phonegap框架。
我有一个异步函数readFromFile(),它读取存储在SD卡中的json文件(每次使用用户数据更新),并将文本结果存储到全局变量中,接下来我有一个函数populatePageContents(),读取全局变量,并从json数据填充页面的html。
我希望在readFromFile()函数将文件数据读入全局变量后调用populatePageContents()函数。
我尝试使用这样的东西:
<script type="text/javascript">
globalVariable = '';
readFromFile(); // Uses phonegap's file API to read file and puts result into global variable
setTimeout(function() { populatePageContents(JSON.parse(globalVariable)); } , 500);
</script>
上述方法有时会起作用,但并非总是如此。请建议更好地使用回调函数。谢谢!
答案 0 :(得分:0)
请使用回调让它每次都能正常工作
你可以使用这样的东西:
readFromFile(function(data){
populatePageContents(JSON.parse(数据));
});
你的readFromFile函数应如下所示:
readFromFile(callback){
/ ***读取文件phonegap代码*** //
回调(); }