Nativescript-蓝牙LE插件。在哪个线程中执行onDiscovered函数?

时间:2018-07-17 09:54:04

标签: javascript bluetooth-lowenergy nativescript nativescript-plugin

我通常是nativescript的新手,我试图了解nativescript-bluetooth LE插件的工作方式。

特别是,我将理解在ononcovercovered上定义的函数是在主线程中还是在单独的线程中执行。 我读到,一般来说,蓝牙LE都是在单独的线程中执行的,但我仍然很困惑。

bluetooth.startScanning({
  serviceUUIDs: [],
  seconds: 4,
  onDiscovered: function (peripheral) {
    console.log("Periperhal found with UUID: " + peripheral.UUID);
  }
}).then(function() {
  console.log("scanning complete");
}, function (err) {
  console.log("error while scanning: " + err);
});

有人可以帮我澄清这一点吗?

1 个答案:

答案 0 :(得分:0)

在NativeScript中,JavaScript是在主线程(也称为UI线程)中执行的。但是,您可以创建后台任务-请参见details here on how to create workers(将在后台线程上运行)或使用this sample application作为如何创建后台服务的参考(适用于需要长时间运行的任务)在您的应用程序关闭或在后台处理时处理