如何使用返回promise的外部方法? (JavaScript的)

时间:2017-09-26 09:49:27

标签: javascript plugins bluetooth ionic2 bluetooth-lowenergy

我是JavaScript的新手,并不了解如何正确使用Promise。

我从离子2(BLE)的本机插件调用一个函数:IsEnabled()它报告如果设备上启用了蓝牙,它会返回一个在蓝牙启用时解析的承诺。我尝试了不同的方法,但它们没有工作:

在BLEscanner.js

      blEnabled() {
       BLE.isEnabled();
       return Promise;
      }

在Home.js

    var BLicon {
     iconColor = function () {
       if (BLEscanner.blEnabled().Promise.isFulfilled())
        return '#606060'; //the icon displayed is gray

       else return '#030303';
     };
     msg = function () {
      if (BLEscanner.blEnabled().Promise.isFulfilled())
        return "Bluetooth is ON";

      else return "Bluetooth is OFF";
      }
    }

我会在输入图标时在动作提醒中使用msg。但我不确定如何使用/开发isFulfilled()命令。

1 个答案:

答案 0 :(得分:1)

BLE.isEnabled()返回一个承诺:

 blEnabled() {
       return BLE.isEnabled();//Returns a promise
 }

在Home.js中你可以这样使用它

BLEscanner.blEnabled().then(() => {
    //success
    iconColor = '#606060';
    msg = "Bluetooth is ON";
}, () =>{
    //fail
    iconColor = '#030303';
    msg = "Bluetooth is OFF";
});