在 ionic 4 页面中获取并显示来自 cordova 插件的实时数据

Get and show live data from cordova plugin in ionic 4 page

我正在尝试编写一个简单的计步器应用程序,我在 android 中使用此插件 (https://github.com/leecrossley/cordova-plugin-pedometer) 来获取计步器数据,所以我想获取此数据并将其显示在我的离子页面(前端视图),我尝试使用 ngZone 刷新对象,同时该方法订阅了 startPedometerUpdates 函数,但它需要很多秒才能工作,有时会卡住几秒然后再次开始显示计数器......

这是我的代码:

steps: any  = []

  constructor(private ngZone: NgZone, private pedometer: Pedometer) { }

  ngOnInit() {
  }


  getSteps(){
    this.pedometer.startPedometerUpdates()
     .subscribe((data: IPedometerData) => {
     this.ngZone.run(() =>  this.steps.push(data))
     });
  }

我的html调试数据很简单:

<ion-content>
    {{this.steps | json}}
    <ion-button (click)="getSteps()">Show steps</ion-button>
</ion-content>

所以我想用尽可能简单的东西来显示 "real time" 中的数据...

提前致谢

你不能在 subscribe 中推送数据,即使你使用 NgZone bcoz push 是一个函数 ngZone 在函数

中不起作用
    steps: any  = []

      constructor(private ngZone: NgZone, private pedometer: Pedometer) { 
        this.getSteps();
        setInterval(()=>{
           console.log('read in a sec')
        },1000)
      }

      ngOnInit() {
      }


      getSteps(){
        this.pedometer.startPedometerUpdates()
         .subscribe((data: IPedometerData) => {
         this.ngZone.run(() =>  this.steps.push(data))
         });
      }