Espruino:Справочник по API/Класс NRF/filterDevices(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...»)
 
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[ www.espruino.com - ]</ref>=
=Функция NRF.filterDevices()<ref>[https://www.espruino.com/Reference#t_l_NRF_filterDevices www.espruino.com - NRF.filterDevices]</ref>=


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript" enclose="div">
 
NRF.filterDevices(devices, filters)
</syntaxhighlight>
</syntaxhighlight>


==Параметры==
==Параметры==


* '''devices''' – массив объектов [https://www.espruino.com/Reference#BluetoothDevice BluetoothDevice], возвращаемый функцией [https://www.espruino.com/Reference#l_NRF_findDevices NRF.findDevices()] или похожей на нее
* '''filters''' – список фильтров (такой передается функции [https://www.espruino.com/Reference#l_NRF_requestDevice NRF.requestDevice()]), с помощью которых будут отфильтровываться устройства


==Возвращаемое значение==


==Возвращаемое значение==
Массив объектов [https://www.espruino.com/Reference#BluetoothDevice BluetoothDevice], соответствующих заданным фильтрам.


==Описание==


Эту функцию можно использовать для быстрой фильтрации Bluetooth-устройств.


==Описание==
Например, если вам нужно одновременно просканировать максимум разных типов устройств, можете воспользоваться [https://www.espruino.com/Reference#l_NRF_findDevices NRF.findDevices()], задав там все нужные вам фильтры. После этого сканирования вы можете воспользоваться [https://www.espruino.com/Reference#l_NRF_filterDevices NRF.filterDevices()], чтобы выбрать именно те устройства, что вам нужны.


<syntaxhighlight lang="javascript" enclose="div">
// мы заинтересованы в устройствах двух типов:


var filter1 = [{serviceData:{"fe95":{}}}];
var filter2 = [{namePrefix:"Pixl.js"}];
// фильтр ниже вернет оба типа устройства:
var allFilters = filter1.concat(filter2);
// теперь сканируем оба этих типа, а затем отфильтровываем их:
NRF.findDevices(function(devices) {
  var devices1 = NRF.filterDevices(devices, filter1);
  var devices2 = NRF.filterDevices(devices, filter2);
  // ...
}, {filters : allFilters});
</syntaxhighlight>


== Примеры ==
== Примеры ==

Версия от 16:20, 7 февраля 2021

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция NRF.filterDevices()[1]

Синтаксис

NRF.filterDevices(devices, filters)

Параметры

  • devices – массив объектов BluetoothDevice, возвращаемый функцией NRF.findDevices() или похожей на нее
  • filters – список фильтров (такой передается функции NRF.requestDevice()), с помощью которых будут отфильтровываться устройства

Возвращаемое значение

Массив объектов BluetoothDevice, соответствующих заданным фильтрам.

Описание

Эту функцию можно использовать для быстрой фильтрации Bluetooth-устройств.

Например, если вам нужно одновременно просканировать максимум разных типов устройств, можете воспользоваться NRF.findDevices(), задав там все нужные вам фильтры. После этого сканирования вы можете воспользоваться NRF.filterDevices(), чтобы выбрать именно те устройства, что вам нужны.

// мы заинтересованы в устройствах двух типов:

var filter1 = [{serviceData:{"fe95":{}}}];
var filter2 = [{namePrefix:"Pixl.js"}];
// фильтр ниже вернет оба типа устройства:
var allFilters = filter1.concat(filter2);
// теперь сканируем оба этих типа, а затем отфильтровываем их:
NRF.findDevices(function(devices) {
  var devices1 = NRF.filterDevices(devices, filter1);
  var devices2 = NRF.filterDevices(devices, filter2);
  // ...
}, {filters : allFilters});

Примеры

См.также

Внешние ссылки