首页 > 解决方案 > 控制台日志未在 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
}

标签: androidangulardebuggingionic3device

解决方案


我找到了解决方案。以前,我将调用检索 app.component.ts 中的联系人的方法放在里面platform.ready().then(){}。当我把它放在 platform.ready() 之外时,日志是可见的。我不知道为什么,但它有效。


推荐阅读