Я совершенно новичок в python, и я не понимаю поведение следующего кода:
import nfc, time
from nfc.clf import RemoteTarget
@auth.route('/api/stream')
def stream():
def eventStream():
clf = nfc.ContactlessFrontend('usb')
while True:
tag = readNFC(clf)
#tag = 123
if tag is not None:
yield 'data: {}\n\n'.format(str(tag))
else:
yield 'data: {}\n\n'.format('NO TAG')
clf.close()
return Response(eventStream(), mimetype="text/event-stream")
def readNFC(clf):
tag_id = None
target = clf.sense(RemoteTarget('106A'))
if target is not None:
tag_id = nfc.tag.activate(clf, target)
print(tag_id)
return tag_id
Если я позвоню readNF C, то я не получу сообщение по адресу клиент. Только когда я останавливаю WSGI-сервер, все сообщения отображаются в консоли JS. Если я устанавливаю тег вручную, я получаю сообщения «вживую».
Может кто-нибудь объяснить, почему это происходит? Моя цель - отправить тег NCF клиенту, как только он появится в считывателе.
Спасибо :))