ホームページ >バックエンド開発 >Python チュートリアル >竜巻に現れる gen.Return(\'hello\') の解決策
python では、Tornado は networkframework# に基づいています。イベントループ##。 concurrency を処理するためにコルーチンを使用しており、gen.Return("hello") はコルーチンで値を返すメソッドです。 Tornado の非同期機能を使用する場合は、gen.Return() を使用してコルーチンの値を返します。
解決方法Tornado では、yield と gen.Return() を使用して値を返します。コルーチンで値を返したい場合は、yield と gen.Return() を使用して目的を達成できます。 例:@gen.coroutine def my_coroutine(): result = yield some_async_call() raise gen.Return(result)戻り値を取得するには、関数の外で async
io.run() または tornado.gen.convert_yielded() を使用します。 rree
コルーチンで値を返したい場合は、yield と gen.Return() を使用して目的を達成する必要があります。 使用例次は、Tornado でコルーチンを使用して値を返す簡単な例です:result = await my_coroutine()Some_async_call() は非同期関数です。 関数の外で戻り値を取得したい場合は、次のようにすることができます:
import tornado.ioloop import tornado.gen @tornado.gen.coroutine def my_coroutine(): result = yield some_async_call() raise tornado.gen.Return(result) def handle_result(result): print(result) if __name__ == "__main__": result = tornado.ioloop.IOLoop.current().run_sync(my_coroutine) handle_result(result)もちろん、async/await 構文も使用できます。その場合は、関数の前に async 修飾子を追加し、関数を呼び出すときに await を使用する必要があります。
rree
上記の例では、result は戻り値であり、handle_result() で処理できます。以上が竜巻に現れる gen.Return(\'hello\') の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。