我将在我的项目中使用名为socket.io-python-emitter
(https://github.com/ziyasal/socket.io-python-emitter)的库,但是,它引入的语法真的让我感到困扰..
使用示例:
e = Emitter(...)
e.Emit('message')
e.In('group1').Emit('message')
e.In('group1').In('group2').Emit('message')
e.Of("/ns").In('group1').In('group2').Emit('message')
我想作者已经这样做了,所以JavaScript / node.js的人会感觉更有家的感觉,但它确实使得编写动态发射器变得更加困难..
最终,它应该(至少在我看来):
e = Emitter(...)
e.emit('message')
e.emit('message', groups=['group1'])
e.emit('message', groups=['group1', 'group2'])
e.emit('message', groups=['group1', 'group2'], ns='/ns')
最好的方法是什么?
答案 0 :(得分:0)
你的第三个选择似乎(对我而言)是好方法。我首先会与作者/维护者讨论他们对这个想法的看法。
由于你创建了一个新方法(并且无论如何都使用了关键字参数),两种语法都可以共存,所以我认为没有必要分叉项目或创建一个包装器。