정말 멋지게 보이는 asynch로 실험하기 시작했습니다. 영원히 실행되는 비동기의 동시 루틴과 함께 미래를 사용하기 위해 노력하고있어하지만 난이 오류를 얻을 :loop_forever와 함께 미래를 사용하는 파이썬
import asyncio
@asyncio.coroutine
def slow_operation():
yield from asyncio.sleep(1)
print ("This is the task!")
future.set_result('This is the future!')
asyncio.async(slow_operation())
def got_result(future):
print(future.result())
loop = asyncio.get_event_loop()
future = asyncio.Future()
future.add_done_callback(got_result)
asyncio.async(slow_operation())
try:
loop.run_forever()
finally:
loop.close()
:
Task exception was never retrieved
future: <Task finished coro=<slow_operation() done, defined at ./asynchio-test3.py:5> exception=InvalidStateError("FINISHED: <Future finished result='This is the future!'>",)>
이 내가 미래에 관한 3 선을 제거하면 예상대로 실행 내 코드입니다
아주 멋지다. 고맙습니다. 하지만 이제 어쨌든 왜 선물이 필요한지 묻는 단계에 있습니다. 쿠로틴에서 정규 함수를 호출 할 수 있습니까? 아니면 future가 무엇입니까? set_result? 필요한거야? – dpetican
@dpetican, 죄송합니다, 나는 대답 할 수 없습니다. 별도의 질문을 올리시겠습니까? – falsetru
짧은 대답은 비동기가 필요한지 여부에 달려 있습니다. – dirn