Intereting Posts
Ошибка MediaRecorder: -38 Android, как отменить AlarmManager.setAlarmClock () EditTextPreference вызывает исключение Inflate Как анимация Android работает под капотом? Приложение распадается и отображает сообщение об ошибке в потоке (смертельный сигнал) Когда вы отключаете основной поток, как я могу как можно быстрее запустить какой-то код для основного потока? Как обеспечить пользовательское разрешение на активность в Android? Ошибка кинжала 2: зависимость "не может быть предоставлена ​​без конструктора @Inject" VerifyError, или с помощью переопределенияПреобразования при сохранении совместимости? «К сожалению, нет данных для этой метрики» Консоль разработчика Android (что это значит?) Как создать BroadcastReceiver без активности / службы? ParseFile на Android Программно созданный Android ProgressBar (Круг) Невидимый в Xoom (работает повсеместно!) Почему ViewPager и GridLayout с 30 элементами очень медленные? Обходные пути для GridView.scrollTo ()?

Запуск задач в backgound в NativeScript

Я использую NativeScript 2.0, и я разрабатываю модуль Android, который НЕ разрешен для запуска в основном потоке !

Есть ли модуль, который я могу использовать для запуска функции в фоновом потоке?

Или можно использовать что-то вроде класса AsyncTask в «родном» JavaScript-коде (NOT TypeScript!)?

Nativescript добавил веб-работников. https://docs.nativescript.org/angular/core-concepts/multithreading-model.html

var worker = new Worker('myWorker'); worker.postMessage('hello'); worker.onmessage = function(msg) { console.log('answer from worker',msg.data); } 

В рабочий myWorker.js

  require('globals'); // necessary to bootstrap tns modules on the new thread onmessage = function(msg) { postMessage('bye'); } 

Для фона вы можете взглянуть на эту статью: http://developer.telerik.com/featured/benefits-single-threading-model-nativescript/

Тем не менее, в настоящее время лучше всего использовать этот модуль для реализации и запуска с помощью WebWorkers: https://github.com/NathanaelA/nativescript-webworkers

Я думаю, что ваш ответ можно найти в этой статье http://developer.telerik.com/featured/benefits-single-threading-model-nativescript/

В принципе, единственным вариантом, который в настоящее время поддерживается, является инкапсуляция кода в плагин, написанный на родном Android. Команда работает над поддержкой какой-то опции потоковой передачи по линии веб-работников, но на данный момент ничего не поддерживается.

Ну, вы должны проверить веб-мастеров:

Веб-работники предоставляют простые средства для веб-контента для запуска сценариев в фоновом потоке. Рабочий поток может выполнять задачи без вмешательства в пользовательский интерфейс.

Подробнее см. Здесь: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers