FileEntry
文档在这方面提供了指导:
文件系统API的
FileSystemFileEntry
接口表示文件系统中的文件。它提供描述文件属性的属性以及file()
方法,该方法创建可用于读取文件的File对象。
不幸的是,file()
方法依赖于回调而不是Promises,但我们可以将其包装起来,使使用API(和阅读代码)更容易:
async function getFile(fileEntry) {
try {
return new Promise((resolve, reject) => fileEntry.file(resolve, reject));
} catch (err) {
console.log(err);
}
}
// From inside an async method or JS module
let file = await getFile(fileEntry); // Wait until we have the file
var jsFileObject;
fileEntry.file(function (file){
jsFileObject = file
});
entry.file(success, error)
。 - kzahel
getFile
时为什么使用了 async 和 await。如果你把它们去掉,直接返回 Promise,它不会起到同样的作用吗? - ack_inc