РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
548 of 643 menu

Метод send класса NamedSignal

Метод send применяется к объекту сигнала NamedSignal и вызывает всех получателей, подключённых к этому сигналу. Первым параметром передаётся отправитель сигнала (обычно это приложение или объект, инициировавший событие). Все остальные позиционные и именованные аргументы передаются получателям без изменений. Метод возвращает список, содержащий результаты, возвращённые каждым получателем.

Если хотя бы один получатель выбросит исключение, метод send прервёт выполнение и пробросит это исключение дальше. Для устойчивой отправки, при которой ошибки получателей подавляются, используется метод send_robust.

Синтаксис

signal.send(sender, *args, **kwargs)

Пример

Давайте создадим сигнал, подключим к нему получателя и отправим сигнал с помощью метода send:

from flask import Flask from flask.signals import Namespace app = Flask(__name__) namespace = Namespace() my_signal = namespace.signal('my-signal') @my_signal.connect def handler(sender, **extra): print('Signal received from', sender) return 'ok' res = my_signal.send(app, data='abcde') print(res)

Результат выполнения кода:

Signal received from <Flask 'app'> ['ok']

Пример

Давайте подключим двух получателей и посмотрим, как метод send собирает их результаты в список:

from flask import Flask from flask.signals import Namespace app = Flask(__name__) namespace = Namespace() my_signal = namespace.signal('my-signal') @my_signal.connect def handler_one(sender, **extra): return 'first' @my_signal.connect def handler_two(sender, **extra): return 'second' res = my_signal.send(app) print(res)

Результат выполнения кода:

['first', 'second']

Смотрите также

  • класс NamedSignal,
    который представляет именованный сигнал
  • метод send_robust,
    который отправляет сигнал и подавляет ошибки получателей
  • метод connect,
    который подключает получателя к сигналу
  • метод disconnect,
    который отключает получателя от сигнала
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить