Javascript 对另一个对象的转换返回未定义的
我正在体验chrome应用程序,并尝试读取用户选择的目录中包含的文件。到目前为止效果良好,用户选择一个文件,然后将单个文件条目对象打印到我的控制台: 代码: 因此,如何从控制台查看条目[i]是一个Javascript 对另一个对象的转换返回未定义的,javascript,google-chrome,google-apps,Javascript,Google Chrome,Google Apps,我正在体验chrome应用程序,并尝试读取用户选择的目录中包含的文件。到目前为止效果良好,用户选择一个文件,然后将单个文件条目对象打印到我的控制台: 代码: 因此,如何从控制台查看条目[i]是一个FileEntry对象。 要从FileEntry读取,首先必须将其转换为文件对象。 在文件条目的文档中:我读到有一个函数void file( FileCallback successCallback,可选ErrorCallback ErrorCallback ); 您如何在上面的代码表中看到我试图通过以
FileEntry
对象。
要从FileEntry
读取,首先必须将其转换为文件
对象。
在文件条目的文档中:我读到有一个函数void file(
FileCallback successCallback,可选ErrorCallback ErrorCallback
);返回文件对象的代码>
您如何在上面的代码表中看到我试图通过以下方式实现这一点:
a = entries[i].file(callback);
......
var callback = function(){
console.log("it works");
console.log(a);
}
我的问题是console.log(a)
不返回对象文件
,而是未定义:
控制台:
我错了什么?如何测试它是否真的返回文件对象?谢谢
完整代码
var callback=function(){
console.log(“它工作”);
控制台日志(a);
}
chooseDirButton.addEventListener('click',函数(e){
chrome.fileSystem.chooseEntry({type:'openDirectory'},函数(theEntry){
chrome.fileSystem.getDisplayPath(入口,函数(路径){
var reader=theEntry.createReader();
reader.readEntries(函数(条目){
对于(变量i=0;i
更改
var callback=function(){
致:
变量回调=函数(a){
我读到…“有一个函数
**void** file(
FileCallback successCallback, optional ErrorCallback errorCallback
);
返回一个文件对象。“
正如您看到的,它不返回它,而是作为参数传递给回调。它们只是有一个糟糕的措辞
a = entries[i].file(callback);
......
var callback = function(){
console.log("it works");
console.log(a);
}
entry is [object FileEntry] window.js:18
entry is [object FileEntry] window.js:18
it works window.js:29
undefined window.js:30
it works window.js:29
undefined
var callback = function(){
console.log("it works");
console.log(a);
}
chooseDirButton.addEventListener('click', function(e) {
chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(theEntry) {
chrome.fileSystem.getDisplayPath(theEntry, function(path) {
var reader = theEntry.createReader();
reader.readEntries(function(entries) {
for (var i = 0; i < entries.length; ++i) {
console.log("entry is " + entries[i]);
a = entries[i].file(callback);
}
});
});
});
});
**void** file(
FileCallback successCallback, optional ErrorCallback errorCallback
);