خرید بک لینک

Vote count: 0

I'm using the native Bluetooth serial library and trying to mock data for testing in the browser. By experimentation (and a little reading) it seems that the way to do this is to check for the 'cordova' platform:

export class BluetoothServiceWrapper implements OnDestroy, OnChanges {
...
private isEmulated:boolean = true;
...

constructor(platform:Platform) {
  platform.ready().then(() => {
    this.isEmulated = !platform.is('cordova');
  });
}

The strange thing is that this works in some parts:

coect(device:BluetoothDevice) {
  retu Observable.create(observer => {
   ...
   if (!this.isEmulated) {
     ...
   }else{
     ... // this is executed in the browser
   }
  }
}

But in other parts the this.isEmulated is undefined:

write(data:any):Promise<any> {
  if (!this.isEmulated) {
    retu BluetoothSerial.write(data);
  } else {
    .... // this never gets executed
  }
}

Am I overcomplicating this and there is an easier way to check if we are using browser/emulation? Or is there some error in the way the context is being passed over?

I should mention that both methods get the same members when accessing 'this' i.e. the BluetoothServiceWrapper members. In the case of the 'write' function though the isEmulated variable is hidden/undefined.

asked 1 min ago

برچسب: نویسنده: استخدام کار تاريخ: سه شنبه 12 مرداد 1395 ساعت: 7:17

صفحه بندی