Pythonista3 (iPhone/iPad アプリ) で asyncio を使用しようとしたところ、エラーが発生しました...
(Pythonista3: Python 3.6.1)
この動画を参考にコードを書いてみました。
import asyncio
import random
@asyncio.coroutine
asyncio def myCoroutine(id):
process_time = random.randint(1, 5)
await asyncio.sleep(process_time)
print('Coroutine: {}. has successfully completed after {} seconds'.format(id, process_time))
@asyncio.coroutine
async def main():
tasks = []
for i in range(10):
tasks.append(asyncio.ensure_future(myCoroutine(i)))
await asyncio.gather(*tasks)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
エラーメッセージは次のとおりです。
RuntimeWarning: coroutine 'main' was never awaited
(async def) > (def) を置き換えましたが、別のエラーが発生しました:
await asyncio.sleep(process_time)
SyntaxError: invalid syntax
さらに、(@asyncio.coroutine) を削除しましたが、別のエラーが発生しました。
raise TypeError('A Future or coroutine is required')
解決策はありますか?
心から、