我是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()
命令。
答案 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";
});