1
例(質問は以下の):非同期イテレータのタイプは何ですか?
import asyncio
import typing as t
from aiokafka import AIOKafkaConsumer
class KafkaSimpleClient:
...
async def receive(self, topic: str) -> ???:
bootstrap_servers = ','.join(
'{}:{}'.format(host, port)
for host, port in self._bootstrap_servers
)
consumer = AIOKafkaConsumer(
loop=asyncio.get_event_loop(),
bootstrap_servers=bootstrap_servers,
metadata_max_age_ms=5000,
)
consumer.subscribe(pattern=topic)
await consumer.start()
return consumer
は今、私は(それがasync for x in y
で巡回できない何かを返しreceive
の戻り値の型に苦しんだことは何ですか、それはawaitableイテレータです。??それおそらくawaitablesの反復子?完全に他の何か?
??? = t.Awaitable[t.Iterator]
??? = t.Iterator[t.Awaitable]
??? = (Something else)
何が問題なのですか? Pythonは動的言語なので重要ではありません。 'async for x in y:'を使うことができることを知っているようです。そうすれば問題は終わりです。 – quamrana
@quamranaあなたは質問を読むことができるようですが、その答えは分かりません。あなたのコメントのポイントは何ですか? – wvxvw
まあ、私はまだタイプが何であるかがあなたにとって重要である理由を知りたいです。タイプが何であるか知っていたら、その情報で何をしますか? – quamrana