当收到较大的响应时,$ cordovaBluetoothLE.read()方法异常

时间:2019-02-10 11:47:12

标签: angularjs bluetooth-lowenergy cordova-plugins

我正在尝试使用this库来构建应用程序。更具体地说,我想在指定的间隔时间内调用特定的函数。为此,我使用以下代码:

vm.startExperimentLoop = function() {
       vm.myCall = $interval( loop, 5000);        
};


vm.apiStop = function(){
    $interval.cancel(vm.myCall);
}

function loop(){
    getTemp();
}

function getTemp(){
    return bleReadgetTemp()
    .then (function(response){
        response = atob(response.value);
        debugWrite("Response@getTemp: " + response + "\n");
        return response;
    })
    .catch( function(error){
        console.log("getTemp error");
    })
}

function bleReadgetTemp(){
    var service_id = '12ab';
    var characteristic_id = '31cd';

    var params = {
            address: $stateParams.address,
            service: service_id,
            characteristic: characteristic_id,
    };

    return $cordovaBluetoothLE.read(params);
} 

蓝牙外围设备正在运行带有bleno库的nodeJS,并且在此特定的读取请求上返回类似{"temp": 2455555555}的对象。只要temp属性的值不超过10位,一切都会按预期进行。如果再加一位数字,使它们总共变为11,则$interval函数似乎不起作用,并不断向外围设备发送读取请求。

知道为什么会发生这种情况吗?

0 个答案:

没有答案