如何使用返回承诺的外部方法? (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";
});
使用