asyncio 函数未定义 python 3.6
asyncio function not defined python 3.6
我在这方面遇到麻烦已经有一段时间了。声明异步函数时,如:
async def init(loop):
然后我调用这个函数 returns a:
NameError: name 'init' is not defined
代码如下所示:
class Server:
def __init__(self, port):
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
loop = asyncio.get_event_loop()
server = loop.run_until_complete(init(loop))
print("Serving on {}".format(server.sockets[0].getsockname()))
try:
loop.run_forever()
except KeyboardInterrupt:
print("\rclosing the server")
pass
server.close()
loop.run_until_complete(server.wait_closed())
loop.close()
async def init(loop):
server = await loop.create_server(handle_request, '127.0.0.1', 8881)
return server
async def handle_request():
你能指出的任何方向都会有所帮助。
谢谢!
def init()
好像在你的 class 里面。通过取消缩进将其移出 class:
class Server:
def __init__(self, port):
#....
loop.close()
# IT SHOULD NOT BE HERE
#IT SHOULD BE HERE!!!
async def init(loop):
server = await loop.create_server(handle_request, '127.0.0.1', 8881)
return server
我在这方面遇到麻烦已经有一段时间了。声明异步函数时,如:
async def init(loop):
然后我调用这个函数 returns a:
NameError: name 'init' is not defined
代码如下所示:
class Server:
def __init__(self, port):
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
loop = asyncio.get_event_loop()
server = loop.run_until_complete(init(loop))
print("Serving on {}".format(server.sockets[0].getsockname()))
try:
loop.run_forever()
except KeyboardInterrupt:
print("\rclosing the server")
pass
server.close()
loop.run_until_complete(server.wait_closed())
loop.close()
async def init(loop):
server = await loop.create_server(handle_request, '127.0.0.1', 8881)
return server
async def handle_request():
你能指出的任何方向都会有所帮助。 谢谢!
def init()
好像在你的 class 里面。通过取消缩进将其移出 class:
class Server:
def __init__(self, port):
#....
loop.close()
# IT SHOULD NOT BE HERE
#IT SHOULD BE HERE!!!
async def init(loop):
server = await loop.create_server(handle_request, '127.0.0.1', 8881)
return server