在TypeScript中,您会做类似的事情
async function getString(word: string): Promise<string> {
return word;
}
如何在Python中做同样的事情?我尝试了以下方法:
async def get_string(word: str) -> Coroutine[str]:
return word
并获得此追溯:
TypeError: Too few parameters for typing.Coroutine; actual 1, expected 3
所以Coroutine
需要3种类型。但为什么?在这种情况下应该是什么?
这在the docs中也有规定,但我还是不明白
答案 0 :(得分:2)
示例in the docs显示了三种类型:
from typing import List, Coroutine c = None # type: Coroutine[List[str], str, int] ... x = c.send('hi') # type: List[str] async def bar() -> None: x = await c # type: int
它还链接到Generator definition并提供了更多示例和更清晰的定义:
Generator[YieldType, SendType, ReturnType]
在您的情况下,我猜为[None, None, str]
,因为您只关心等待的值。