1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/RocY-delay-job-javascript

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 11:06 3253fca

Задержка задания — JavaScript

Введение

Постоянно проверять состояние, пока оно не станет истинным, и с задержкой выполнять функцию задачи.

Архитектура программного обеспечения

Иногда необходимо дождаться завершения инициализации одной задачи перед выполнением следующей. Типичным подходом является использование обратных вызовов, но они могут привести к сильной связанности кода. Альтернативный подход заключается в постоянном опросе состояния зависимых ресурсов (State) и выполнении отложенной задачи, если ресурс доступен.

Инструкция по установке

Скопируйте этот код в свой интерфейсный проект или непосредственно в класс инструментов JavaScript.

Использование

let delayedResource = null;
function requestResource() {
  // задача загрузки ресурса с задержкой в 5 секунд
    setTimeout(()=> delayedResource = 'some data', 5000);
}

 // запрос ресурса
requestResource();

// создание отложенного задания: постоянный опрос доступности delayedResource, интервал опроса по умолчанию 50 миллисекунд, время ожидания 10 секунд
createDelayJob(
    ()=> console.log('Hello delayed job! finished!'),
    ()=> delayedResource != null
    // 5000, // timeout Ms время ожидания
    // 50, // circle time Ms интервал опроса
);

Вклад в проект

  1. Форкните этот репозиторий.
  2. Создайте ветку Feat_xxx.
  3. Отправьте код.
  4. Создайте Pull Request.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/RocY-delay-job-javascript.git
git@api.gitlife.ru:oschina-mirror/RocY-delay-job-javascript.git
oschina-mirror
RocY-delay-job-javascript
RocY-delay-job-javascript
master