android - 控制台日志未在 Android 设备上按承诺触发
问题描述
我正在开发一个 Ionic 应用程序,我尝试在其中使用本机插件加载设备的联系人。有一个异步调用,里面有一些控制台日志,但在 android 5.1 设备上运行时日志没有出现。Promise 中的其余代码被触发,只有日志不被触发。在浏览器中,它们会出现。
public loadContactsFromDevice(): void {
console.log('ContactsProvider loadContactsFromDevice INIZIO');//this is fired
this.contacts.find(
['displayName', 'name', 'birthday'],
{ filter: "", multiple: true })
.then(resultData => {
console.log('ContactsProvider loadContactsFromDevice resultData:' + resultData);//this is not fired
this.allContacts = resultData;
this.setContactsList(this.allContacts);
});
console.log('ContactsProvider loadContactsFromDevice FINE');//this is fired
}
解决方案
我找到了解决方案。以前,我将调用检索 app.component.ts 中的联系人的方法放在里面platform.ready().then(){}
。当我把它放在 platform.ready() 之外时,日志是可见的。我不知道为什么,但它有效。
推荐阅读
- git - 尝试恢复到以前的提交后无法推送,Git
- java - 在java mongodb中按数组长度排序
- flutter - Flutter - 保存在 List 中时 MaterialButton 不会改变
- foreach - 从使用 forEach 的异步函数获取返回值
- ios - 计算 UITableView 预期高度
- ios - iOS13 立即检查互联网连接
- laravel - laravel上的图片上传无法在线使用
- php - 无法从 PHP 运行 python 代码 - 无输出
- powershell - 在这个程序中,如何检查输入值是否在 -9 到 0 到 9 范围内的任何整数或小数范围内?
- java - 如何在 JUnit 测试中测试 JSONException?