Maison > développement back-end > Golang > Quand utiliser `context.TODO()` vs `context.Background()` dans Go Mongo-Driver ?

Quand utiliser `context.TODO()` vs `context.Background()` dans Go Mongo-Driver ?

Susan Sarandon
Libérer: 2024-11-11 18:45:02
original
812 Les gens l'ont consulté

When to Use `context.TODO()` vs `context.Background()` in Go Mongo-Driver?

Choisir entre context.TODO() et context.Background() dans Go Mongo-Driver

Travailler avec des contextes vides non nuls dans Go Mongo-Driver peut être déroutant. Comprendre le but de context.Background() et context.TODO() peut aider à clarifier leur utilisation.

Selon la documentation Go :

  • context.Background() : Renvoie un contexte vide et non nul qui n'est jamais annulé, n'a aucune valeur et aucune date limite. Il est généralement utilisé dans la fonction principale, l'initialisation et les tests, et comme contexte de niveau supérieur pour les requêtes entrantes.
  • context.TODO() : Renvoie un message vide non nul. Contexte. Le code doit utiliser context.TODO() lorsqu'il n'est pas clair quel contexte utiliser ou qu'il n'est pas encore disponible (car la fonction environnante n'a pas encore été étendue pour accepter un paramètre de contexte).

Recommandation : Lorsque vous avez besoin d'un contexte mais que vous n'en avez pas (encore) et que vous ne savez pas quoi utiliser, utilisez context.TODO(). Cela documente que vous ne savez pas quel contexte utiliser ou qu'il n'est pas encore disponible.

Si vous avez un contexte, envisagez de l'utiliser ou d'en dériver un nouveau. Par exemple :

  • Si vous disposez d'un gestionnaire HTTP et d'une requête MongoDB, l'utilisation de Request.Context() pourrait économiser des ressources car elle est annulée lorsque le client HTTP abandonne la requête.
  • Si vous avez un délai d'attente pour une opération MongoDB, dérivez un contexte de context.Background() avec le délai d'attente approprié.

Comprendre la différence entre context.TODO() et context.Background() peut vous aider à choisir le contexte approprié pour votre utilisation de Go Mongo-Driver, garantissant une allocation et une gestion optimales des ressources.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal