2016-08-11 2 views
0

я пытаюсь построить BLE модуль сканирования на nodeJs с использованием Bluez здесь код я использую:NodeJs Exec() останавливает разветвление через некоторое время

exec('sudo hcitool lescan --duplicates &', function (error, stdout, stderr) { }); 

exec('sudo hcitool lescan --duplicates &', function (error, stdout, stderr) { 
    var result = exec('sudo hcidump --raw &'); 

    /* 
    * Whenever hcidump returns a raw data, this function calls itself. And pushes 
    * the raw data to createBeaconDevice function. 
    */ 
    result.stdout.on('data', function (data) { 
     var currentDate = new Date(); 
     writeLog('scanData', data, currentDate.toISOString().replace(/T/, ' ').replace(/\..+/, '')) 
     createBeaconDevice(data); 
    }); 
}); 

Но проблема в том, что останавливает работая через некоторое время без каких-либо предупреждений или ошибок. В чем может быть проблема? Был бы рад, если бы кто-нибудь мог помочь

ответ

0

Как он перестает работать?

Вы можете обрабатывать параметр ошибки как этот

function (error, stdout, stderr) { 
    if (error) throw new Error(error) // to get info 
    ... 
} 

, чтобы получить некоторую информацию, где дела идут на юг.

+0

Остальная часть кода продолжает работать, но процесс сканирования просто останавливается. – ozata

+0

@ozata Вы могли бы добавить обработку параметров ошибки, чтобы быть в безопасности, и если бы она обнаружила что-нибудь, что мы могли бы помочь вам лучше – pspi

+0

Проблема с этим использованием заключается в том, что вы набрали, я не могу получить данные async таким образом, пока он сканируется – ozata

Смежные вопросы