"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > संदर्भ पर जाएं - TODO() बनाम पृष्ठभूमि() अब कोई भ्रमित करने वाली बात नहीं!

संदर्भ पर जाएं - TODO() बनाम पृष्ठभूमि() अब कोई भ्रमित करने वाली बात नहीं!

2024-11-06 को प्रकाशित
ब्राउज़ करें:978

Go Context — TODO() vs Background() No more confusing!

गो में, संदर्भ पैकेज अनुरोध-दायरे वाले मूल्यों, रद्दीकरण संकेतों और समय सीमा को प्रबंधित करने में मदद करता है।
किसी संदर्भ को शुरू करने के दो सामान्य तरीके हैं context.TODO() और context.Background()।
हालाँकि वे एक जैसा व्यवहार करते हैं, फिर भी वे अलग-अलग उद्देश्यों की पूर्ति करते हैं।

प्रसंग.पृष्ठभूमि()

context.Background() डिफ़ॉल्ट है जब आपको किसी विशेष प्रबंधन (जैसे रद्दीकरण या समय सीमा) की आवश्यकता नहीं होती है।
इसका उपयोग अक्सर मुख्य, init, या उन परिचालनों को आरंभ करते समय किया जाता है जिनके लिए अधिक विशिष्ट संदर्भ की आवश्यकता नहीं होती है।

उदाहरण:

 func main() {
     ctx := context.Background()
     server := http.Server{Addr: ":8080", BaseContext: func(net.Listener) context.Context {
         return ctx
     }}
     log.Fatal(server.ListenAndServe())
 }

इस उदाहरण में, context.Background() का उपयोग HTTP सर्वर के लिए आधार संदर्भ स्थापित करने के लिए किया जाता है।

संदर्भ.TODO()

context.TODO() एक प्लेसहोल्डर संदर्भ है। इसका उपयोग तब करें जब आप अनिश्चित हों कि कौन सा संदर्भ प्रदान करना है या बाद में पुन: विचार करने की योजना बना रहे हैं।

उदाहरण:

 func processOrder() {
     ctx := context.TODO() // Placeholder, decision on context pending
     err := db.SaveOrder(ctx, orderData)
     if err != nil {
         log.Println("Failed to save order:", err)
     }
 }

यहाँ, context.TODO() का उपयोग डेटाबेस ऑपरेशन के लिए अस्थायी रूप से किया जाता है जब तक कि अधिक विशिष्ट संदर्भ परिभाषित न हो जाए।

मुख्य अंतर

दोनों फ़ंक्शन एक खाली संदर्भ लौटाते हैं, लेकिन वे अलग-अलग इरादे व्यक्त करते हैं:

  • context.Background(): इसका उपयोग तब किया जाता है जब आप आश्वस्त होते हैं कि किसी विशेष संदर्भ सुविधाओं की आवश्यकता नहीं है।
  • context.TODO(): एक अस्थायी प्लेसहोल्डर संदर्भ, जो भविष्य में होने वाले परिवर्तनों का संकेत देता है।

निष्कर्ष

संदर्भ का उपयोग कब करें। पृष्ठभूमि():

  • HTTP सर्वर या डेटाबेस कनेक्शन जैसी मुख्य सेवाओं को प्रारंभ करते समय।
  • जब रद्दीकरण, समय सीमा या मूल्यों की कोई आवश्यकता नहीं है।

संदर्भ का उपयोग कब करें।TODO():

  • रिफैक्टरिंग करते समय, और आपने अभी तक संदर्भ पर निर्णय नहीं लिया है।
  • प्रारंभिक चरण के कोड को लागू करते समय जिसमें भविष्य में सुधार की आवश्यकता होती है।
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/zakariachahboun/are-you-confused-about-contexttodo-vs-contextbackground-heres-what-you-need-to-know-2h46?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3