12.06 Использование глобальных переменных в разных сценариях
В качестве примера использования глобальных переменных создадим два сценария:
- первый сценарий будет при ручном запуске записывать значение текущей температуры в Лондоне. Для каждого значения температур будет создана глобальная переменная и записано полученное значение;
- второй сценарий раз в сутки будет при ручном запуске рассчитывать на основе полученных значений глобальных переменных среднесуточную температуру в Лондоне.
Получение и запись трех глобальных переменных
примечание
Для успешной работы сценария Получение и запись трех глобальных переменных необходимо добавить 6 узлов и настроить 3 связи:

- (1) Узел Trigger on Run once для запуска сценария по нажатию на кнопку Запустить один раз;
- (2) Узел HTTP request с запросом GET, для отправки запроса к сервису OpenWeather для получения параметра температуры в Лондоне;

- (3) Узел JavaScript, для расчета времени суток (утра, дня, ночи) с кодом:

export default async function run({execution_id, input, data, store}) {
// Создаем объект Date для UTC
const now = new Date();
// Определяем смещение для таймзоны Москвы (UTC+3)
const timezoneOffset = 3 * 60;
// Корректируем текущее время с учетом таймзоны Москвы
now.setMinutes(now.getMinutes() + now.getTimezoneOffset() + timezoneOffset);
// Получаем часы, скорректированные для таймзоны Москвы
const hours = now.getHours();
let timeOfDay; // Переменная для времени суток
// Определяем время су ток
if (hours >= 4 && hours < 12) {
timeOfDay = "morning";
} else if (hours >= 12 && hours < 20) {
timeOfDay = "day";
} else {
timeOfDay = "night";
}
// Возвращаем объект с временем суток
return {
timeOfDay: timeOfDay
};
}
- (3.1) Настроить связь morning от узла JavaScript, по которой пойдет выполнение сценария, если рассчитанное в узле JavaScript время суток утро. Для этого в связь необходимо добавить условие:

- (3.2) Настроить связь day от узла JavaScript, по которой пойдет выполнение сценария, если рассчитанное в узле JavaScript время суток день. Для этого в связь необходимо добавить условие:

- (3.3) Настроить связь night от узла JavaScript, по которой пойдет выполнение сценария, если рассчитанное в узле JavaScript время суток ночь. Для этого в связь необходимо добавить условие:

- (4) Узел SetGlobalVariables для создания глобальной переменной morningTemp, содержащей параметр утренней температуры, полученной во время суток утро из узла HTTP request;

- (5) Узел SetGlobalVariables для создания глобальной переменной dayTemp, содержащей параметр дневной температуры, полученной во время суток день из узла HTTP request;

- (6) Узел SetGlobalVariables для создания глобальной переменной nightTemp, содержащей параметр ночной температуры, полученной во время суток ночь из узла HTTP request;

Итогом выполнения сценария является запись значений трех глобальных переменных. Значения можно просмотреть в таблице переменных:
