Как исправить синтаксическую ошибку в socket io setence

#python #socket.io

#питон #socket.io

Вопрос:

У нас есть следующий код python:

 ListenPort = 'http://180.13.1.245:3011'
    
sio = socketio.Client()
sio = socketio.AsyncClient()

@sio.event
def connect():
    print("Connected!")
@sio.event
def connect_error():
    print("Connection failed!")

@sio.event
def disconnect():
    print("Disconnected!")

await sio.connect(ListenPort)
  

И, как результат, после компиляции:

 await sio.connect(ListenPort)
    ^
SyntaxError: 'await' outside function

Process finished with exit code 1
  

Ответ №1:

Как сообщает ошибка, вы можете использовать только await в функции. Также эта функция должна быть сопрограммой (функцией, определенной с помощью async def ). Вы можете устранить вашу ошибку, заключив код в сопрограмму и запустив ее:

 import asyncio


async def main():
    ListenPort = 'http://180.13.1.245:3011'
    
    sio = socketio.Client()
    sio = socketio.AsyncClient()
    
    @sio.event
    def connect():
        print("Connected!")
    @sio.event
    def connect_error():
        print("Connection failed!")
    
    @sio.event
    def disconnect():
        print("Disconnected!")
    
    await sio.connect(ListenPort)


asyncio.run(main())