【发布时间】:2020-07-02 17:57:31
【问题描述】:
我正在研究离子 4(电容器)。我正在尝试解析本地文件系统 URL,所以我使用了这个函数 resolveLocalFilesystemUrl 但不幸的是,我收到了这个错误
TypeError: Cannot read property 'then' of undefined TypeError: Cannot read property 'then' of undefined
这是我的代码:
constructor(private _file: NativeFile) {}
...
..
this._file.resolveLocalFilesystemUrl(nativeFilePath).then((entry: Entry) => {
console.log(entry);
});
注意这个函数返回一个promise
【问题讨论】:
-
根据文档,它应该返回一个承诺。尽管如此,如果我检查它,它会返回未定义,这正是引发错误的原因。对我来说,这发生在带有 Cordova 的 Ionic 5 上。所以,这涵盖了广泛的可能性,介于 4 和电容器之间。
-
问题:您的错误是在桌面浏览器中运行还是部署到手机后出现?对我来说,它在浏览器中,尚未部署到 Android。
-
只是这样您就不必尝试了:认为这可能与 File 需要在检查 github 页面上的 cordova 文件插件后准备好平台有关 [github.com/apache/cordova-plugin-file] 其中,反过来,下面提到的 ionicframework.com 上的 File API 的(基本)手册也引用了它。因此,我将使用 File 的例程包装到 platform.ready.then() 承诺中,这将我在单元测试中遇到的错误减少为警告,但仍然与错误具有相同的消息,除此之外,没有任何效果。