分析了,HBuilder里面有个h5+的应用我分析io操作的源码,里面的:
function plusReady(){
// 获取音频目录对象
plus.io.resolveLocalFileSystemURL('_doc/', function(entry){
entry.getDirectory('audio', {create:true}, function(dir){
gentry = dir;
updateHistory();
}, function(e){
outSet('Get directory "audio" failed: '+e.message);
});
}, function(e){
outSet('Resolve "_doc/" failed: '+e.message);
} );
}
gentry获得了目录对象,然后给updateHistory();的方法使用,但是到了方法里面:
// 获取录音历史列表
function updateHistory(){
if(bUpdated||!gentry||!document.body){//兼容可能提前注入导致DOM未解析完更新的问题
return;
}
var reader = gentry.createReader();
reader.readEntries(function(entries){
for(var i in entries){
if(entries[i].isFile){
createItem(entries[i]);
}
}
}, function(e){
outLine('读取录音列表失败:'+e.message);
});
bUpdated = true;
}
问题出现在这个代码: var reader = gentry.createReader(); 这个updateHistory()方法获得了gentry变量的目录对象,使用了这个对象的createReader();方法,但是在:
http://www.html5plus.org/doc/zh_cn/io.html#plus.io.DirectoryEntry
这里都找不到createReader();方法的解说。这个是怎么回事?既然是在目录对象里面的方法,为什么使用文档里面没有讲到?
gfmy
- 发布:2017-12-06 19:05
- 更新:2017-12-06 19:22
- 阅读:1926
gfmy (作者)
谢谢,这个问题结束了
2017-12-06 19:23