无法正常接收 flet 广播消息的解决方法
在使用 flet 的订阅广播功能时,如果遇到只能收到发送方自己消息的问题,可以尝试以下解决方法:
官方示例中将 main 函数标记为异步函数后,pubsub 的 subscribe_async 和 send_all_async 需要使用 await 关键字,否则会导致消息无法正常发送和接收。
修改后的代码如下:
async def main(page: ft.Page): page.title = "Flet Chat" async def on_message_async(msg): messages.controls.append(ft.Text(msg)) await page.update_async() await page.pubsub.subscribe_async(on_message_async) async def send_click(e): await page.pubsub.send_all_async(f"{message.value}") message.value = "" await page.update_async() messages = ft.Column() message = ft.TextField(hint_text="Your message...", expand=True) send = ft.ElevatedButton("Send", on_click=send_click) await page.add_async(messages, ft.Row(controls=[message, send]))
另外,据官方作者反馈,这是一个 flet 框架的 bug,已联系作者并得到确认。
以上就是Flet广播消息无法接收怎么办?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com