Dans python, Tornado est un réseauframework basé sur la boucle d'événements. Il utilise des coroutines pour gérer la concurrency, et gen.Return("hello") est une méthode pour renvoyer des valeurs dans les coroutines. Lorsque vous utilisez les fonctionnalités asynchrones de Tornado, utilisez gen.Return() pour renvoyer une valeur dans une coroutine.
Dans Tornado, utilisez rendement et gen.Return() pour renvoyer des valeurs. Si vous souhaitez renvoyer une valeur dans une coroutine, vous pouvez utiliser rendement et gen.Return() pour atteindre votre objectif.
Exemple :
@gen.coroutine def my_coroutine(): result = yield some_async_call() raise gen.Return(result)
Utilisez asyncio.run() ou tornado.gen.convert_yielded() en dehors de la fonction pour obtenir la valeur de retour.
result = await my_coroutine()
Si vous souhaitez renvoyer une valeur dans une coroutine, vous devez utiliser rendement et gen.Return() pour atteindre votre objectif.
Ce qui suit est un exemple simple d'utilisation de coroutines dans Tornado et de valeurs renvoyées :
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)
Some_async_call() voici une fonction asynchrone.
Si vous souhaitez obtenir la valeur de retour en dehors de la fonction, vous pouvez faire ceci :
result = await my_coroutine()
Bien sûr, la syntaxe async/await peut également être utilisée, ce qui nécessite d'ajouter le modificateur async avant la fonction et d'utiliser wait lors de l'appel de la fonction.
async def my_coroutine(): result = await some_async_call() return result
Dans l'exemple ci-dessus, le résultat est la valeur de retour, qui peut être traitée dans handle_result().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!