flask-socket框架中,可以有两个@socketio.on('output')吗
时间: 2024-01-28 21:05:21 浏览: 232
在 Flask-SocketIO 框架中,可以为同一个事件注册多个处理函数,但需要注意处理函数的执行顺序。
当触发 `'output'` 事件时,所有与该事件相关的处理函数都将被调用。这些处理函数按照它们的注册顺序依次执行。
以下是一个示例代码,演示如何注册多个 `'output'` 事件的处理函数:
```python
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@socketio.on('output')
def handle_output(data):
print('Handling output:', data)
@socketio.on('output')
def handle_output_another(data):
print('Handling output (another):', data)
if __name__ == '__main__':
socketio.run(app)
```
在上面的示例中,我们定义了两个 `@socketio.on('output')` 装饰器,分别用于注册两个处理函数 `handle_output()` 和 `handle_output_another()`。当触发 `'output'` 事件时,这两个处理函数都会被调用,并按照它们的注册顺序执行。
请注意,这两个处理函数可以执行不同的操作,具体取决于你的需求。
希望这对你有所帮助!如果还有其他问题,请随时提问。
阅读全文