Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

चालाक 3.0 (स्कैला) प्रश्न डेटा वापस नहीं करते हैं जब तक कि वे कई बार चलाए जाते हैं (मुझे लगता है)

सभी डीबी कॉल आपको तुरंत पर वापस आ जाएंगी Futures . के साथ , भले ही उन्होंने अपना कार्य समाप्त न किया हो। यह एसिंक्रोनस है सिंक्रोनस नहीं।

Futures . को समायोजित करने के लिए आप अपना कोड बदल सकते हैं दो में से एक तरीके से:

  1. आप Await.result का उपयोग कर सकते हैं सभी डीबी कॉल के साथ, उस बिंदु पर पूरा होने तक प्रतीक्षा करने के लिए, उदाहरण के लिए:Await.result(db.run(insertEffect), Duration.Inf)

  2. आप .map . का उपयोग कर सकते हैं (या .flatMap यदि आप किसी अन्य Futures का उपयोग कर रहे हैं भीतर से), कोड के साथ जिसे आप डीबी ऑपरेशन पूरा होने पर चलाना चाहते हैं। उदाहरण के लिए:db.run(insertEffect).map(_ => ... do stuff... )

एक और स्टैक ओवरफ़्लो देखें धागा कारण के बारे में कुछ विचारों के साथ अपवाद के संबंध में।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओओपी पीएचपी पीडीओ मेरा पहला प्रोजेक्ट, क्या मैं सही कर रहा हूं?

  2. स्प्रिंग-बूट, स्प्रिंग-डेटा जेपीए का उपयोग करके MySQL में यूनिकोड स्ट्रिंग को सहेज नहीं सकता

  3. कैसे एक mysql डोकर कंटेनर के लिए एक स्टार्टअप स्क्रिप्ट जोड़ने के लिए?

  4. हाइबरनेट hbm2ddl.auto डिफ़ॉल्ट मान

  5. MySQL> तालिका मौजूद नहीं है। लेकिन यह करता है (या इसे चाहिए)