Rumah > pembangunan bahagian belakang > Tutorial Python > Penyelesaian untuk gen.Return(\'hello\') muncul dalam puting beliung

Penyelesaian untuk gen.Return(\'hello\') muncul dalam puting beliung

WBOY
Lepaskan: 2024-02-29 22:58:02
ke hadapan
1201 orang telah melayarinya

Penyelesaian untuk gen.Return(\hello\) muncul dalam puting beliung

Sebab ralat

Dalam python, Tornado ialah rangkaianrangka kerja berdasarkan gelung acara. Ia menggunakan coroutine untuk mengendalikan concurrency, dan gen.Return("hello") ialah kaedah untuk mengembalikan nilai dalam coroutine. Apabila menggunakan keupayaan tak segerak Tornado, gunakan gen.Return() untuk mengembalikan nilai dalam coroutine.

Cara menyelesaikan

Dalam Tornado, gunakan hasil dan gen.Return() untuk mengembalikan nilai. Jika anda ingin mengembalikan nilai dalam coroutine, anda boleh menggunakan hasil dan gen.Return() untuk mencapai matlamat anda.

Contoh:

@gen.coroutine
def my_coroutine():
result = yield some_async_call()
raise gen.Return(result)
Salin selepas log masuk

Gunakan asyncio.run() atau tornado.gen.convert_yielded() di luar fungsi untuk mendapatkan nilai pulangan.

rreeee

Jika anda ingin mengembalikan nilai dalam coroutine, anda harus menggunakan hasil dan gen.Return() untuk mencapai matlamat anda.

Contoh Penggunaan

Berikut ialah contoh mudah menggunakan coroutine dalam Tornado dan mengembalikan nilai:

result = await my_coroutine()
Salin selepas log masuk

Some_async_call() di sini ialah fungsi tak segerak.

Jika anda ingin mendapatkan nilai pulangan di luar fungsi, anda boleh melakukan ini:

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)
Salin selepas log masuk

Sudah tentu, sintaks async/wait juga boleh digunakan, yang memerlukan penambahan pengubah async sebelum fungsi dan menggunakan await apabila memanggil fungsi.

rreeee

Dalam contoh di atas, hasilnya ialah nilai pulangan, yang boleh diproses dalam handle_result().

Atas ialah kandungan terperinci Penyelesaian untuk gen.Return(\'hello\') muncul dalam puting beliung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan