Движок правил wb-rules 1.7: различия между версиями

Строка 57: Строка 57:
использующие эту конструкцию, продолжат работу без изменений в поведении.
использующие эту конструкцию, продолжат работу без изменений в поведении.


=== Обходной путь ===
=== Обходные пути ===


Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций,
Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций,
есть несколько способов реализации такого поведения:
есть несколько способов реализации такого поведения:
==== Виртуальные устройства ====
В простых случаях удобно использовать виртуальные устройства для обмена данными. Такие механизмы
просто отлаживаются (состояние виртуального устройства всегда можно посмотреть в web-интерфейсе), а
также легко создаётся реакция на изменения параметров (с помощью правил). (Подробнее - см. Виртуальные устройства).


==== Использование модулей ====
==== Использование модулей ====


см. Модули
Можно написать модуль для организации взаимодействия. У модулей есть статическое хранилище,
общее для всех файлов, импортировавших модуль. (см. [[#Модули|Модули]])
 
==== Постоянное хранилище ====
 
Для обмена данными также можно использовать глобальные постоянные хранилища (PersistentStorage).
 
'''Внимание:''' при использовании глобальных постоянных хранилищ может произойти совпадение имён, в
этом случае возможно труднообнаруживаемое нарушение поведения.
 
<syntaxhighlight lang="js">
var ps = new PersistentStorage("my-global-storage", {global: true});
 
/// ...
 
ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage"
</syntaxhighlight>


==== Прототип глобального объекта ====
==== Прототип глобального объекта ====
wb_editors
154

правки