【发布时间】:2017-01-03 03:17:31
【问题描述】:
在以下代码中获取TypeMismatchError: Value is not Object
var fileHandler = {
storages:null,
documentsDIR:null,
newFile:null,
dirName:"documents",
fileName:"test.csv",
init: function init(){
//tizen.filesystem.listStorages(this.checkCorruptedRemovableDrives);documents
tizen.filesystem.resolve(this.dirName, this.resolveSuccessCB,this.resolveErrorCB,"rw");
},
resolveSuccessCB: function resolveSuccessCB(result){
this.documentsDir = result;
//this.newFile = documentsDir.createFile(this.fileName);
// Error Here - TypeMismatchError: Value is not Object
result.listFiles(this.listFilesSuccessCB);
console.log("All Good in "+this.documentsDir);
},
resolveErrorCB: function resolveErrorCB(error){
console.log("Unable to access "+this.dirName+". Error:"+error.message);
},
listFilesSuccessCB: function listFilesSuccessCB(files){
for (var i = 0; i < files.length; i++){
/* Display the file name and URI */
console.log("File name is " + files[i].name + ", URI is " + files[i].toURI());
}
},
onStorage: function onStorage(storage){
console.log("Storage found:" + storage.label);
},
checkCorruptedRemovableDrives: function checkCorruptedRemovableDrives(storages){
this.storages = storages;
for (var i = 0; i < storages.length; i++)
{
if (storages[i].type != "EXTERNAL"){
continue;
}
if (storages[i].state == "UNMOUNTABLE"){
console.log("External drive " + storages[i].label + " is corrupted.");
} else {
console.log(" Storage = " + storages[i].label );
// Error here - TypeMismatchError: Value is not Object
tizen.filesystem.getStorage(storages[i].label, this.onStorage);
}
}
}
};
错误发生在代码中标记为Error Here的两个地方。
在tizen.filesystem.getStorage(storages[i].label, this.onStorage); 中,第一个参数的数据类型是DOMString,storages[i].label 也是DOMString 类型。
在result.listFiles(this.listFilesSuccessCB); 中需要回调函数。
大部分代码已从Tizen FileSystem Guide 复制粘贴,但仍然无效。
请帮忙。预先感谢!! 当我浏览可穿戴设备的文件系统时,我在哪里可以找到“文档”目录。
【问题讨论】:
-
请提供更详细的代码。
标签: javascript tizen tizen-wearable-sdk tizen-web-app