вы, вероятно, запускаете код в Jupyter Notebook, по крайней мере по виду очень похоже. В Jupyter Notebook событийный цикл создается и запускается автоматически, а функцию asyncio.run(main()) запускать в уже запущенном событийном цикле нельзя. В примере 2.2 можно попробовать заменить asyncio.run(main()) на await main() и это должно сработать. Либо можно обойтись без Jupyter Notebook и запускать скрипт классическим способом python <скрипт>.py
При "Фантомном чтении" появляются новые строки, которых раньше не было. А при "Неповторяющемся чтении" изменяются существующие строки. Думаю поэтому эти два феномена и разделены.
вы, вероятно, запускаете код в Jupyter Notebook, по крайней мере по виду очень похоже. В Jupyter Notebook событийный цикл создается и запускается автоматически, а функцию
asyncio.run(main())
запускать в уже запущенном событийном цикле нельзя. В примере 2.2 можно попробовать заменитьasyncio.run(main())
наawait main()
и это должно сработать. Либо можно обойтись без Jupyter Notebook и запускать скрипт классическим способомpython <скрипт>.py
да, но не только. В генератор можно прокидывать значения и исключения уже после запуска, генератор умеет отдавать управление в вызывающий код.
При "Фантомном чтении" появляются новые строки, которых раньше не было. А при "Неповторяющемся чтении" изменяются существующие строки. Думаю поэтому эти два феномена и разделены.
Благодарю за комментарий) статью поправил