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

Метод disconnect

Метод disconnect применяется к объекту сигнала NamedSignal и позволяет отключить функцию-получатель, которая была ранее подключена к этому сигналу. Первым параметром передаётся функция-получатель, которую нужно отключить. Если функция не была подключена к сигналу, метод просто ничего не делает.

Синтаксис

signal.disconnect(receiver)

Пример

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

from flask import Flask from flask.signals import Namespace app = Flask(__name__) ns = Namespace() my_signal = ns.signal('my-signal') def handler(sender, **extra): print('handler called') my_signal.connect(handler) my_signal.disconnect(handler) my_signal.send(app)

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

""

Так как функция была отключена, при отправке сигнала она не вызывается, и в консоль ничего не выводится.

Пример

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

from flask import Flask from flask.signals import Namespace app = Flask(__name__) ns = Namespace() my_signal = ns.signal('my-signal') def handler1(sender, **extra): print('handler1') def handler2(sender, **extra): print('handler2') my_signal.connect(handler1) my_signal.connect(handler2) my_signal.disconnect(handler1) my_signal.send(app)

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

"handler2"

Функция handler1 была отключена и не вызывается, а функция handler2 продолжает работать.

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

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