JSBerry
  • Install
  • Русский
    • Начало работы
      • Введение
      • Быстрый старт
      • Подключение модулей и плагинов
      • Подключение и настройка чистого REST модуля
    • Основы
      • Ядро
        • Bootstrap
        • Mediator
        • Model
        • Router
      • ACTIONS
      • Модуль
      • Middlewares
  • English
    • Getting started
      • Introduction
      • Quick Start
Powered by GitBook
On this page

Was this helpful?

  1. Русский
  2. Основы

ACTIONS

ACTIONS это главный путь к соединению частей вашего приложения (модулей и плагинов) вместе. Это работает подобно Event Emitter только с promises: вы можете вызвать любое событие (event) в любой модуль/плагин который имеет для этого события "подписку". И "подписать" (subscribe) любой модуль/плагин на любое событие с другого модуля/плагина в любом месте приложения. Каждый ACTIONS в ответ обязан вернуть Promise.

Как же это работает на практике: представьте что у вас есть два модуля - user и product. User хочет получить информацию с модуля product.

Прежде всего мы должны подписаться на product module для события "получения информации" и отправить какую-то информацию в ответ на событие:

ACTIONS.on('product.getInfo', () => {
    return Promise.resolve({ name: 'potato', weight: 300 });
});

Следующий шаг это послать событие в product module от user module для получения ответа с информацией.

ACTIONS.send('product.getInfo').then((info) => console.log(info));

Если вы хотите передать какие-то параметры в ваше событие - вы можете добавить их как второй аттрибут.

// product module

ACTIONS.on('product.set', (data) => {
    const newProduct = data;

    return Promise.resolve(newProduct);
});

// user module

ACTIONS.send('product.set', { name: 'tomato' }).then((info) => console.log(info));

Также вы можете использовать async await для удобства:

const tomatoInfo = await ACTIONS.send('product.set', { name: 'tomato' });
PreviousRouterNextМодуль

Last updated 6 years ago

Was this helpful?