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

问题描述:

我是JavaScript新手,不理解如何正确使用Promise。如何使用返回承诺的外部方法? (JavaScript)

我正在从离子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()命令。

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"; 
}); 
使用