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

Метод has_receivers_for

Метод has_receivers_for применяется к объекту сигнала NamedSignal и проверяет, подписан ли на этот сигнал хотя бы один получатель. Первым параметром передаётся объект-отправитель, для которого нужно выполнить проверку. Метод возвращает True, если хотя бы один получатель может принять сигнал от указанного отправителя, и False в противном случае.

В отличие от метода receivers_for, который возвращает итератор со всеми получателями, метод has_receivers_for лишь сообщает, есть ли такие получатели вообще. Это удобно для быстрой проверки перед отправкой сигнала.

Синтаксис

signal.has_receivers_for(sender)

Пример

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

from flask import Flask from flask.signals import Namespace app = Flask(__name__) ns = Namespace() my_signal = ns.signal('my-signal') res = my_signal.has_receivers_for(app) print(res)

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

False

Пример

Теперь подключим получатель к сигналу и снова выполним проверку:

from flask import Flask from flask.signals import Namespace app = Flask(__name__) ns = Namespace() my_signal = ns.signal('my-signal') def handler(sender): pass my_signal.connect(handler, app) res = my_signal.has_receivers_for(app) print(res)

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

True

Пример

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

from flask import Flask from flask.signals import Namespace app = Flask(__name__) other = Flask('other') ns = Namespace() my_signal = ns.signal('my-signal') def handler(sender): pass my_signal.connect(handler, app) res = my_signal.has_receivers_for(other) print(res)

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

False

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

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